home *** CD-ROM | disk | FTP | other *** search
/ The Business Master (3rd Edition) / The Business Master (3rd Edition).iso / files / commadio / modemd3 / mdr5doc.txt < prev    next >
Encoding:
Text File  |  1993-04-25  |  152.8 KB  |  3,565 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                __________________________________________________
  9.                                      T H E 
  10.                                    M O D E M
  11.                                   D O C T O R
  12.                                Version 5.0S / 5.0R
  13.                    Hank Volpe copyr. 1989,1990,1991,1992,1993
  14.                                  P.O. Box 43214
  15.                                Baltimore MD 21236      
  16.                __________________________________________________
  17.  
  18.      What's New  . . . . . . . . . . . . . . . . . . . . . . . . . . .    Page 3
  19.  
  20.      Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    Page 4
  21.  
  22.      Section 1. Introduction . . . . . . . . . . . . . . . . . . . . .    Page 5
  23.  
  24.      Section 2. Starting MDR . . . . . . . . . . . . . . . . . . . . .    Page 7
  25.           The /B switch  . . . . . . . . . . . . . . . . . . . . . . .    Page 7
  26.           The /S switch  . . . . . . . . . . . . . . . . . . . . . . .    Page 8
  27.           The /X switch  . . . . . . . . . . . . . . . . . . . . . . .    Page 8
  28.           The /F switch  . . . . . . . . . . . . . . . . . . . . . . .    Page 8
  29.  
  30.      Section 3. First Time Setup . . . . . . . . . . . . . . . . . . .    Page 9
  31.           A. Test Modem/ Uart      . . . . . . . . . . . . . . . . . .   Page 11
  32.           B. Uart Tests  . . . . . . . . . . . . . . . . . . . . . . .   Page 13
  33.           C. Return to main menu . . . . . . . . . . . . . . . . . . .   Page 14
  34.  
  35.      Section 4.0 The Main Menu . . . . . . . . . . . . . . . . . . . .   Page 14
  36.           4.01 Hot-Key selection   . . . . . . . . . . . . . . . . . .   Page 14
  37.                ALT-F . . . . . . . . . . . . . . . . . . . . . . . . .   Page 14
  38.                ALT-T . . . . . . . . . . . . . . . . . . . . . . . . .   Page 15
  39.                ALT-H . . . . . . . . . . . . . . . . . . . . . . . . .   Page 15
  40.           4.1 Login In Comm ports  . . . . . . . . . . . . . . . . . .   Page 15
  41.           4.11 What do IRQ's and COMM Ports do ? . . . . . . . . . . .   Page 15
  42.           4.12 Port assignments and their meaning  . . . . . . . . . .   Page 16
  43.           4.13 Testing defective Ports   . . . . . . . . . . . . . . .   Page 18
  44.           4.2 Regs       . . . . . . . . . . . . . . . . . . . . . . .   Page 18
  45.                Line Control Register . . . . . . . . . . . . . . . . .   Page 19
  46.                Line Status Register  . . . . . . . . . . . . . . . . .   Page 19
  47.                Modem Control Register  . . . . . . . . . . . . . . . .   Page 20
  48.                Modem Status Register . . . . . . . . . . . . . . . . .   Page 21
  49.                Interrupt ID Register . . . . . . . . . . . . . . . . .   Page 22
  50.                Interrupt Enable Register . . . . . . . . . . . . . . .   Page 23
  51.                Interrupt Mask Register . . . . . . . . . . . . . . . .   Page 24
  52.           4.30 Handshaking tests . . . . . . . . . . . . . . . . . . .   Page 24
  53.           4.30A S-Register Displays  . . . . . . . . . . . . . . . . .   Page 25
  54.           4.31 Carrier Tests   . . . . . . . . . . . . . . . . . . . .   Page 25
  55.           4.31 Modem Driver Modules  . . . . . . . . . . . . . . . . .   Page 26
  56.           4.32 Types of Carrier Tests  . . . . . . . . . . . . . . . .   Page 27
  57.           4.33 AT Instruction Set Tests  . . . . . . . . . . . . . . .   Page 27
  58.           4.34 Uart or Dumb Modem Tests  . . . . . . . . . . . . . . .   Page 28
  59.           4.35 Error Messages  . . . . . . . . . . . . . . . . . . . .   Page 29
  60.           4.36 IRQ Failures  . . . . . . . . . . . . . . . . . . . . .   Page 29
  61.           4.4 Loopback Tests . . . . . . . . . . . . . . . . . . . . .   Page 30
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  77.                                         Page 2
  78.  
  79.  
  80.           4.41 Loopback Test Error messages  . . . . . . . . . . . . .   Page 31
  81.           4.5 Options Mode . . . . . . . . . . . . . . . . . . . . . .   Page 32
  82.           4.51 Interactive Mode  . . . . . . . . . . . . . . . . . . .   Page 32
  83.                ALT-B . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  84.                ALT-C . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  85.                ALT-N . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  86.                ALT-R . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  87.                ALT-H . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  88.                ALT-X . . . . . . . . . . . . . . . . . . . . . . . . .   Page 32
  89.           4.51A Testing for Interrupt Latency  . . . . . . . . . . . .   Page 33
  90.           4.52 View Current Statistics . . . . . . . . . . . . . . . .   Page 33
  91.           4.53 Print Current Statistics  . . . . . . . . . . . . . . .   Page 33
  92.           4.54 Reset Current Statistics  . . . . . . . . . . . . . . .   Page 33
  93.           4.6 Setup Mode . . . . . . . . . . . . . . . . . . . . . . .   Page 34
  94.                Mdr Color Selection Screen  . . . . . . . . . . . . . .   Page 34
  95.           4.7 Exit Program . . . . . . . . . . . . . . . . . . . . . .   Page 35
  96.  
  97.      5.0 Error Messages and their Meanings . . . . . . . . . . . . . .   Page 35
  98.           General Program Errors or Warnings . . . . . . . . . . . . .   Page 35
  99.           Setup Mode Diagnostics . . . . . . . . . . . . . . . . . . .   Page 36
  100.           Uart diagnostics . . . . . . . . . . . . . . . . . . . . . .   Page 39
  101.           Report Generator Messages  . . . . . . . . . . . . . . . . .   Page 40
  102.           Static DTR/DSR   RTS/CTS . . . . . . . . . . . . . . . . . .   Page 40
  103.           Carrier and Dynamic tests  . . . . . . . . . . . . . . . . .   Page 41
  104.           General program warnings . . . . . . . . . . . . . . . . . .   Page 42
  105.  
  106.      Section 6. Special Modes and Information  . . . . . . . . . . . .   Page 45
  107.           6.1 Using Modem Drivers  . . . . . . . . . . . . . . . . . .   Page 46
  108.                6.11 External Modem Drivers . . . . . . . . . . . . . .   Page 47
  109.           6.2 Using the Command Line Mode switch /S  . . . . . . . . .   Page 47
  110.           6.3 Using the Hot-Keys   . . . . . . . . . . . . . . . . . .   Page 49
  111.                ALT-B Change Baud rate  . . . . . . . . . . . . . . . .   Page 49
  112.                ALT-C Clear Screen  . . . . . . . . . . . . . . . . . .   Page 49
  113.                ALT-F Force Microprocessor  . . . . . . . . . . . . . .   Page 49
  114.                ALT-H Help  . . . . . . . . . . . . . . . . . . . . . .   Page 50
  115.                ALT-R Register Display  . . . . . . . . . . . . . . . .   Page 50
  116.                ALT-X Exit Mode . . . . . . . . . . . . . . . . . . . .   Page 50
  117.                Control -Break  . . . . . . . . . . . . . . . . . . . .   Page 50
  118.           6.4 Logging in Defective Ports   . . . . . . . . . . . . . .   Page 50
  119.           6.5 What tests cannot Do . . . . . . . . . . . . . . . . . .   Page 51
  120.           6.6 Quirks with Some Modems  . . . . . . . . . . . . . . . .   Page 51
  121.           6.7 Buffered vs Direct Connect Modems  . . . . . . . . . . .   Page 52
  122.  
  123.      Section 7. Benefits of Registration . . . . . . . . . . . . . . .   Page 52
  124.  
  125.      Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Page 53
  126.  
  127.      Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . . . .   Page 53
  128.  
  129.      Modem Doctor History  . . . . . . . . . . . . . . . . . . . . . .   Page 53
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  146.                                         Page 3
  147.  
  148.  
  149. All of the documentation text contained in this file is copyrighted 1989-
  150. 1993 by Hank Volpe. This file is the technical reference manual that
  151. accompanies the Modem Doctor. This manual has been written for the expert
  152. user who would like to have background information on how the Modem Doctor
  153. conducts its various tests. It also catalogs the many error messages and
  154. their meanings, explains some of the mnemonics used in testing, and
  155. contains a brief history of the different versions of the program.
  156. Distribution of this text without the Modem Doctor shareware version and
  157. its support files is prohibited by the author.
  158.  
  159.  
  160.                  -------------------------------------------
  161.                     What's New in Modem Doctor Version 5.0
  162.                   -------------------------------------------
  163.  
  164. For those of you familiar with Modem Doctor, here is a brief look at the
  165. improved and added features of version 5.0. If you are new to Modem
  166. Doctor, take a look at the users manual file (MDRFIRST.TXT) that
  167. accompanies your Modem Doctor package.
  168.  
  169. 1) Screen presentations have been enhanced to make it easier to spot 
  170. potential problems and areas of concerns. 
  171.  
  172. 2) Login in and Startup sequence. 
  173. Modem Doctor now finds, identifies, and verifies interrupts from all comm 
  174. ports under test. A new interrupt selection window has also been added, even 
  175. though Modem Doctor automatically displays the correct IRQ line.
  176.  
  177. 3) Regs- The ability to read and modify any S-register exists in a pulldown  
  178. menu. I cannot give all registers names, because there is such a discrepancy 
  179. between modem vendors.
  180.  
  181. 4) Carrier and Loopback   
  182. The previous incarnation of the C language had a problem with properly 
  183. running delays on machines with system clocks greater than 33 megahertz. As a 
  184. result, the timer-tick routines did not accurately count 1 second intervals 
  185. on these machines. As a result, I have new code installed to detect proper 
  186. timing sequences. 
  187.  
  188. 5) Interactive mode now has a new test for interrupt latency. You can vary 
  189. the amount of time that Modem Doctor stays in a loop waiting for characters, 
  190. thus confirming if the speed of your display adapter is causing a 
  191. communication problem. 
  192.  
  193. 6) FOSSIL and INT 14 support   
  194. A new primitive module has been added that works with FOSSIL drivers, and INT 
  195. 14 kernels. I know it doesn't make much sense to put a kernel in the way of a 
  196. testing program, but then again, it does extend what Modem Doctor can do. To 
  197. start in this mode, type mdr /f. It will automatically find a driver or 
  198. report what it can or can't do. Important to note. The Fossil driver 
  199. determines if a port gets fossil support or INT 14 support. The FOSSIL driver 
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  215.                                         Page 4
  216.  
  217.  
  218. must be loaded to support the desired number of ports, otherwise Modem Doctor 
  219. grabs the first port and makes it the FOSSIL supported port, making any 
  220. others supported by INT 14.
  221.  
  222. 7) A new "heads-up" display shows you the status of all your serial ports, 
  223. handles and identifies Mircosoft Compatible mouse drivers, allows easy 
  224. control over interrupt lines, and adds new built-in modem drivers.
  225.  
  226. 8) A new Hot-Key to select or disable transmitter-driven interrupts. Some
  227. Uarts, most notably early 8250's, have a problem with transmitter interrupts. 
  228. With this feature enabled, you can test your chips ability to handle high-
  229. speed interrupts, and if errors are detected, you can switch this feature off 
  230. and test again.
  231.  
  232.  
  233. Forward
  234. -------
  235. Welcome to the Modem Doctor. This documentation along with the program is
  236. a good source of information about how Uarts and Serial Ports work with
  237. Modems in your Personal Computer.
  238.          
  239. There are two versions of the Modem Doctor; The shareware version 5.0S and
  240. the registered Version 5.0R. There are some differences between the two.
  241. Both however are full-functioned diagnostics tools. The differences
  242. between the  two are as follows;
  243.          
  244.          Version 5.0S & 5.0R supports COM1 through COM8 
  245.          Version 5.0R allows custom port selections 
  246.  
  247.          Version 5.0S supports speeds to 2400 bps
  248.          Version 5.0R supports speeds to 57,600 bps
  249.          
  250.      Version 5.0S does not include Manual Log-in of Comm ports, the
  251.      Digital or the Analog Loopback testing, or any of the dynamic
  252.      handshaking tests supported in version 5.0R, or the /s or /x 
  253.      command-line modes of operation.
  254.          
  255. This documentation covers both versions, however the feature differences
  256. above are provided for your reference.
  257.           
  258. This manual is provided as a technical reference for advanced users or for
  259. those wishing to get more background information on tests. For first time
  260. users I would suggest reading the Getting started Manual text file
  261. MDRFIRST.TXT, which is a little more basic in its approach.
  262.  
  263. I sincerely hope that you take a good look at the program and the
  264. documentation. The Modem Doctor is about as complete a diagnostic tool you
  265. can find for your serial port and modem. A complete program history
  266. follows the documentation. The Modem Doctor versions 2.2, 3.0 , and 4.0 were
  267. received very well nationally and internationally, Version 5.0 now adds
  268. more tests, more user features and more flexibility for you to use. Thanks
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  284.                                         Page 5
  285.  
  286.  
  287. to those that have registered and have made the Modem Doctor a viable
  288. package for all of us that sincerely enjoy using modems.
  289.          
  290. If you are using the shareware version and wish to order, please use the
  291. Order form included with this package or see Section 7, Benefits of
  292. registration at the end of this documentation. You can always get the latest 
  293. version of Modem Doctor from the Modem Doctor BBS (410-256-3631, 24 hrs, 
  294. speeds to 16.8kbps). There is no requirement to register Modem Doctor in 
  295. order to use the BBS or to have your questions answered. Access is easy, and 
  296. downloads are available on the first call for many hard-to-find shareware 
  297. communication utilities.
  298.  
  299.  
  300. Section 1. Introduction - 
  301. ------------------------- 
  302. The Modem Doctor is a professional diagnostic tool designed to work with
  303. IBM-PC's and compatibles. There are two versions of the Modem Doctor, the
  304. shareware version and the registered version. The registered version of
  305. the Modem Doctor contains complete diagnostics for 8250-B, 8250-A, 16450,
  306. 16550, 16550A(x), and compatible Uarts, RS-232 data lines, and carrier
  307. tests. Some of the many diagnostic features of the registered version are; 
  308.              
  309.  **  Support for COM 1 through COM 8 using system IRQ's 2,3,4,5 or 7.
  310.  **  Baud Rates from 300 to 57600 bps
  311.  **  Support for Courier HST/Dual Standard/V.32 Modems [+],
  312.      Hayes 1200, 2400, Ultra and V9600 series Modems [+*],
  313.      ZyXEL, Practical Periperals, Intel, and Sierra Semiconductor
  314.      modems. A Generic Driver is provided for all others.
  315.  
  316.  **  Auto-detection of modems that use &T0 (CCITT V.54) diagnostics
  317.  **  Auto log-in of COMM ports 1 - 4 to DOS for use by other programs.
  318.  
  319.  **  Manual log-in of up to 8 COMM ports for non-standard hardware,
  320.      including those with defective Uarts (on manual selection). 
  321.  **  On-screen display of all 8250 /16450/ 16550 Uart registers.
  322.  **  On-screen display of modem S-Registers.
  323.  **  Full Diagnostic tests of Uart and RS-232 Channels including;
  324.        -- ALL Uart registers.
  325.        -- ALL RS-232 handshaking Signals.
  326.        -- 8259 Interrupt Controller mask registers 
  327.        -- Digital loopback Uart tests including chips with Tri-stated 
  328.           OUT2 signals.
  329.        -- Analog loopback data tests.
  330.   **  Full diagnostic checks of "AT" instruction set modems;
  331.        -- Carrier tests on both originate and answer frequencies.
  332.        -- Carrier test interface for "dumb" modems or data channels.       
  333.        -- Modem microprocessor command channel diagnostics.
  334.        -- Support for high speed modems.           
  335.        -- Support for modems that use the alternate &T0 self test mode. 
  336.        -- Dynamic simulated on-line testing of RTS/CTS and XON/XOFF 
  337.           handshaking.
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  353.                                         Page 6
  354.  
  355.  
  356.        -- Static DTR/DSR and RTS/CTS uart handshaking tests.
  357.        -- Ability to display any S-Register pairs
  358.           
  359.   **  Interactive Mode with 16K communications buffer for;    
  360.       -- TTY mode interactive communications over serial port or modem 
  361.           while on-line.
  362.       -- Interrupt latency test, you can use this to determine if your
  363.          display adapter is too slow for your high-speed modem.
  364.       -- Custom designed tests...help menu included.
  365.       -- On-line "Hot-key" viewing of 8250 Uart registers.
  366.  
  367.   **  Hot-Keys for selecting the baud rate, to force a modem
  368.           microprocessor test mode, and to enable/disable transmitter
  369.           driven interrupts.
  370.  
  371.   **  User Selection of modem drivers. Like printer drivers, these
  372.           software modules add more selections and more test capability to
  373.           The Modem Doctor. 
  374.  
  375.   **  Ability to use external modem drivers. External modem drivers
  376.           make it possible to add special modems that might not use
  377.           standard AT conventions to the Modem Doctor without you having
  378.           to update to a new version of the program.
  379.  
  380.   **  Built in report generator that displays the results of all tests run
  381.           on all serial ports and modems. Report can be printed at any
  382.           time and reset at any time by the user. 
  383.  
  384.   **  Status bar that continuously displays the port, speed,
  385.           microprocessor status, Transmitter Interrupt enable status
  386.           and modem driver selections.
  387.  
  388.  
  389.   **  User defined Colors for all screens
  390.   **  Compatibility with mouse drivers. Mouse drivers also properly
  391.           enabled after exiting Modem Doctor.
  392.  
  393.   **  Command Line Mode interface for setting up a modem to an
  394.           initialization string contained in a user created file;
  395.      -- A small text file contains the port (and optional address), the
  396.      speed, and the string to send to the modem. Any text editor can
  397.      create the file at any time!
  398.  
  399.   **  Automatic detection of incorrect Com1 and Com2 port assignments,
  400.       IRQ assignment errors, missing IRQ signals, and missing handshake
  401.       signals.
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  422.                                         Page 7
  423.  
  424.  
  425.          
  426. The Modem Doctor and all of its documentation is copyrighted by Hank
  427. Volpe. The shareware version of this program may be distributed on
  428. not charged for its duplication or acquisition (except for BBS systems
  429. that charge a user fee for system access). If you are a shareware
  430. distributor and have received permission to distribute past versions of
  431. the Modem Doctor, you are granted permission also for version 5.0 as long
  432. as you follow the same guidelines for distribution as before. Under 
  433. no conditions can anyone accept payment for the Modem Doctor but Hank
  434. Volpe or agents authorized for resale by Hank Volpe. The Modem Doctor is
  435. distributed on as "as-is" basis, with no warranties for usefulness or
  436. suitability expressed or implied. Users of the shareware version are
  437. granted a limited license to use this program for a trial period only.    
  438. Please let your conscience be your guide as to what you believe has been a
  439. fair trial period, for without the support of users who have registered,
  440. the Modem Doctor would not be the product that it is today.
  441.  
  442. The Modem Doctor is a very flexible package for both the new user and for
  443. the experienced technician. The focus of this manual is to give you a
  444. technical reference regarding how the Modem Doctor works, what is the
  445. meaning of error messages you may encounter, and how the tests are
  446. constructed to operate between your PC and your modem. First time users or
  447. those unfamiliar with how the Modem Doctor operates should read the file
  448. MDRFIRST.TXT. MDRFIRST explains how to start and use the Modem Doctor, how
  449. the pulldowns operate, and how to use the menu and control system.      
  450.  
  451. Section 2. Starting MDR     
  452. ------------------------     
  453. The Modem Doctor has been designed to work with PC-Type serial ports and
  454. "AT" instruction set (so called Hayes compatible[++]) modems. The Modem
  455. Doctor requires at least 1 serial port to operate. MDR is written to run
  456. under MS or PC DOS 2.2 or higher, and will work with any standard display
  457. adaptor in normal text mode. The program requires at least 200K of program
  458. memory space. When MDR is started, it will use the last text mode that the
  459. display adaptor was in before the Modem Doctor started. If you have
  460. created a custom color file (see Options mode), your screen colors will be
  461. displayed as you selected them. If not, default colors will be loaded
  462. depending on the mode you are currently in (Color or Black /White). 
  463. Modem Doctor starts just like any other program. From the dos prompt, type
  464. MDR. There are however several command line switches you might need to use
  465. from time to time.
  466.  
  467. The /B switch
  468. -------------
  469. Code has been included to work with hardware-incompatible display adapters
  470. as long as they are at least IBM-PC Bios compatible. For most computers,
  471. this is not necessary and will slow down screen displays, plus it will
  472. change the appearance of the input windows. The reason for using this
  473. switch is (for example), if you wish to route the output of the program
  474. through a voice synthesizer or operate it under a program that requires
  475. all screen writes to go through your Bios. If you wish to use this bios
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  491.                                         Page 8
  492.  
  493.  
  494. compatible mode instead of direct display writes, start the program using
  495. the Bios switch ;   MDR /B 
  496.          
  497. The /S switch
  498. --------------
  499. Registered versions 4.0 and higher also can be run to quickly program and
  500. setup a Modem. To use this mode start the program with the setup switch ;
  501. MDR /S (see Section 3). 
  502.  
  503. The /X switch
  504. --------------
  505. Registered versions 4.0 and higher have the ability to swap the
  506. communication pointers for COM1 and COM2 in memory. To use this mode, type
  507. MDR /X. Com1's pointer will be swapped to COM2 (and visa versa).  You can 
  508. specify any one of the 4 comm ports used by dos by typing;
  509.  
  510. MDR /X [port] [port], 
  511. where each [port] is a different comm port..ie to swap Com1 and Com3, type 
  512. MDR /X 1 3. MDR /X without port numbers flips com1 and com2 by default. This 
  513. condition is not permament. To flip these again, just type MDR /X  or if you 
  514. used comm numbers, type MDR /X [port] [port]. The reason for this command 
  515. line switch  is for convienence  and also to make  it easier for  technicians to swap
  516. port assignments without  having to change port  jumpers. This mode is  not generally
  517. useful except when you believe you have addresses set incorrectly or if you wish
  518. to use a serial device  that is normally Com2 as Com1 (such as a serial printer) from
  519. a  high-level  language  that  does not  support  2  comm  ports.  These changes  are
  520. temporary. Permanent fixes can  only be done in these cases  if you physically change
  521. the addresses on your serial card.
  522.  
  523. The /F switch
  524. -------------
  525. Normally, Modem Doctor and most comm programs directly control the hardware 
  526. of your computer. Uart registers, interrupt controllers, and system hooks are 
  527. all involved. Another way to perform control in a machine-independant way is 
  528. by using kernels. Kernels are small programs that reside as TSR's (Terminate 
  529. Stay Resident) in your computer. You can instruct Modem Doctor to operate in 
  530. this manner, and instead of assuming complete control over your system, Modem 
  531. Doctor will work through system kernels. X00 and BNU are two such kernel or 
  532. FOSSIL programs. If you use Modem Doctor in this manner, some uart 
  533. programming and error trapping is not possible (because the FOSSIL drivers do 
  534. not support function calls to handle all test conditions). However, this 
  535. command can be useful if you wish to test the proper operation of a FOSSIL 
  536. driver in your system. Other Int14 type kernels are also supported. To start 
  537. Modem Doctor in this mode, type MDR /F.
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  560.                                         Page 9
  561.  
  562.  
  563.  
  564. Section 3. First Time Setup     
  565. ---------------------------     
  566. The first time you start the Modem Doctor, it will begin several system
  567. checks. These checks are not repeated until you start the program over
  568. again from the Dos prompt. First, the Modem Doctor checks to see what
  569. hardware is available and reports its results to you. Displayed on the
  570. bottom line is the serial number unique to each copy (registered version).
  571. If incorrect COMM addresses are detected or if swapped addresses are
  572. detected, an Alert-bar will be displayed, warning you that a non-standard
  573. assignment was detected, and you are asked if you wish to have this fixed
  574. for testing purposes only.    
  575.  
  576. ┌───────────────────────────── The Modem Doctor─────────────────────────────┐
  577. │                         Welcome to the Modem Doctor                       │
  578. └───────────────────────────────────────────────────────────────────────────┘
  579.     ╒[ Modem / Uart Hardware Detection]══════════════════════════════════╕
  580.     │ Port assignments  Base(hex)    Irq       Special Port Usage        │
  581.     │ Com port 1   [ ]     3f8        4                                  │
  582.     │ Com port 2   [ ]     2f8        3    IRQ assigned to a mouse driver│
  583.     │ Com port 3   [ ]  not found                                        │
  584.     │ Com port 4   [ ]  not found                                        │
  585.     │ Com port 5   [ ]                                                   │
  586.     │ Com port 6   [ ]                                                   │
  587.     │ Com port 7   [ ]                                                   │
  588.     │ Com port 8   [ ]                                                   │
  589.     └────────────────────────────────────────────────────────────────────┘
  590.  
  591.  ╔[  Serial Port Detection ]═══════════════════════════════════════════════╗
  592.  ║                          Serial port detection                          ║
  593.  ║                Searching for other standard active Comm ports           ║
  594.  ║                                                                         ║
  595.  ║                              Total Comm ports  =2                       ║
  596.  ║                        PRESS ANY KEY TO START TESTING                   ║
  597.  ║                                                                         ║
  598.  ║                                                                         ║
  599.  ║                                                                         ║
  600.  ══════════════════════════════════════════════════════════════════════════╝ 
  601.  
  602. Modem Doctor 5.0 uses a heads-up display that shows you the Comm port 
  603. assignment number, the base i/o address, and the interrupt line in use. 
  604. Unlike previous versions, Modem Doctor actually creates a system interrupt 
  605. and traps its ID. Running under DOS, Modem Doctor will always identify the 
  606. correct IRQ line. In multi-tasking situations, this test may not be valid, 
  607. which is why a new window has been created to allow you to easily select any 
  608. IRQ line you wish to use.
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  629.                                        Page 10
  630.  
  631.  
  632.  
  633.  ╔[  Ports  ]═╗   ╔[  IRQ's  ]═╗    ╔[  Baud  ]══╗  
  634.  ║ Use COM 1  ║   ║ Use IRQ 2  ║    ║   300 BPS  ║  
  635.  ║ Use COM 2  ║   ║ Use IRQ 3  ║    ║  1200 BPS  ║  
  636.  ╚════════════╝   ║ Use IRQ 4  ║    ║  2400 BPS  ║  
  637.                   ║ Use IRQ 5  ║    ║  4800 BPS  ║ * 
  638.                   ║ Use IRQ 7  ║    ║  9600 BPS  ║ * 
  639.                   ╚════════════╝    ║ 19200 BPS  ║ * 
  640.                                     ║ 38400 BPS  ║ * Registered Versions
  641.                                     ║ 57600 BPS  ║ * only
  642.                                     ╚════════════╝  
  643.         
  644. Next, you are instructed to pick from a list of valid Comm ports. The only
  645. ports that are listed are valid ports that MDR found when it first
  646. started. The registered version allows you to add ports that are not
  647. "standard" ports, (check the section on Login). Use the arrow keys to find
  648. your selection, and then press return to select.
  649.  
  650. A window now opens showing you your IRQ line choices. The sliding bar will 
  651. pick the IRQ line Modem Doctor found valid during the first set of tests. You 
  652. can change this to any IRQ line you wish. A note of caution though, if you 
  653. pick an incorrect IRQ line, the following tests will not be valid.
  654.  
  655. A window now opens showing you valid Comm port speeds. Select a speed from
  656. this menu. Please note, don't select a speed faster than your modem can
  657. handle. The reason for faster speeds is so communication links can also be
  658. tested.  Use the arrow keys and press return to make your selection.
  659.          
  660. At this point you are in the options menu. If you select "Test Modem", a
  661. series of commands and tests will be performed. Please check to make sure
  662. the modem is on line and running. If you select "Test Uart Hardware", only
  663. the Uart will be tested. The modem will not be setup. This selection is
  664. useful only if you wish to test an RS-232 line or a "dumb" modem.
  665. Selection 3 aborts to the main menu. (NOTE: Version 5.0 includes "hot-
  666. keys" to force the Modem Doctor to believe you are using a modem with a
  667. microprocessor and for changing the baud rate. Read Section 4 on the menu
  668. system for more details).       
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  698.                                        Page 11
  699.  
  700.  
  701.  
  702.  
  703. A. Test Modem/ Uart     
  704.   ---------------------
  705.     ╒[ Modem / Uart System Diagnostics]══════════════════════════════════╕
  706.     │ Comm port /IRQ in use [ ] Port = 1  Address = 3F8  IRQ = 4         │
  707.     │ Int 14 interface      [ ] Inactive                                 │
  708.     │ Uart type             [ ] 16450/8250A detected                     │
  709.     │ Baud rate selected    [ ]  2400                                    │
  710.     │ Baud Rate reg test    [ ] Confirmed correct baud rate              │
  711.     │ Modem Microprocessor  [ ] Modem Microprocessor On-Line             │
  712.     │ Modem ID Type         [ ] 9600 bps modem                           │
  713.     │ Modem Memory/Rom      [ ] Memory tests OK                          │
  714.     └────────────────────────────────────────────────────────────────────┘
  715.  
  716. ╒[ Diagnostic Dialog]═══════════════════════════════════════════════════════╕
  717. │                  Preliminary diagnostic checks of hardware                │
  718. │                  -----------------------------------------                │
  719. │                   Confirmed uart setup to proper baud rate                │
  720. │                          Testing Modem Microprocessor                     │
  721. │                          --------------------------                       │
  722. │                                                                           │
  723. │                   Modem microprocessor command bus active                 │
  724. │                Modem ID reports a 9600 bps modem installed                │
  725. │                    Modem microprocessor memory tests OK                   │
  726. │                Modem microprocessor accepts setup commands                │
  727. │                     Modem - Uart status appears correct                   │
  728. │              Press any key to see register status and diagnosis           │
  729. │                                                                           │
  730. └───────────────────────────────────────────────────────────────────────────┘
  731.  
  732. The preceding page shows you the results of a normal test with a modem. 
  733. The first step tests the uart to modem hardware. If any connection errors
  734. are discovered, they are reported to the screen. If no errors are
  735. detected, the Modem Doctor will check to see what type of uart is
  736. installed. 
  737.  
  738. There are differences between the different types of uarts, and
  739. the Modem Doctor uses this test to determine how to test the uart and what
  740. registers to display to the screen. Next, the uart is set to the desired
  741. baud rate, and the uart speed register is queried to make sure it did set
  742. up properly. Next, the modem command bus is tested and if its compatible,
  743. the modem ID information is queried from the modem microprocessor. The
  744. Modem Doctor then issues a command that forces the modem to run a checksum
  745. of its ram or rom memory. If your modem returns an OK, then the Modem
  746. Doctor assumes your modem passed properly. If an error is returned, you
  747. will receive an error message stating that the modem reported a rom/ram
  748. check failure.  Finally, the modem is setup for diagnostics. Note: These
  749. setup strings do not overwrite any non-volatile storage. 
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  767.                                        Page 12
  768.  
  769.  
  770. If your modem setup properly, all the uart registers and the First 16
  771. Modem S registers are displayed. This display is not shown the next time
  772. you log in a Comm port unless you press the space bar. If the modem does
  773. not respond to certain parts of the tests, error messages are reported. 
  774.  
  775.                          Testing Modem Microprocessor
  776.                          ---------------------------- 
  777.                 Modem Microprocessor Command Mode Not Detected 
  778.                          Software Reset Initiated      
  779.          
  780. This message is displayed if the modem did not respond the first time for
  781. a query to its status. This could happen for any number of reasons,
  782. including that the modem was still on-line and not in the command mode. A
  783. soft-reset is performed, which essentially tries to wake the processor up. 
  784.  
  785.         No Response...resetting Modem Microprocessor ...attempt #1
  786.         No Response...resetting Modem Microprocessor ...attempt #2
  787.         No Response...resetting Modem Microprocessor ...attempt #3
  788.          
  789. After 3 soft-resets, the Modem Doctor assumes that the modem is jammed and
  790. needs a hardware reset. A hardware reset is the program equivalent of
  791. turning the modem on and off again. This is the only way to reset some
  792. internal modems  that get "jammed" when the computer is first turned on. 
  793. Clearing a "jam" usually takes no more than 2 attempts.   
  794.  
  795.  
  796.               Trying Hardware reset of the Modem Microprocessor
  797.          
  798. The Hardware reset is performed, and again the modem microprocessor is
  799. strobed for its status.  
  800.          
  801.                         Software Reset Initiated
  802.          
  803. After a hardware reset, a soft reset is performed again, attempting to
  804. wake the processor up. If this fails, the  following message is displayed; 
  805.          
  806.               Modem Microprocessor Did Not Accept Setup Commands 
  807.               Trying a Hardware reset of the Modem Microprocessor
  808.   
  809.  
  810. After one more attempt at waking the modem up, the Modem Doctor assumes
  811. that the modem is not compatible  and based on the status given it by the
  812. Uart, it will report if the device is off or not connected.  
  813.          
  814.           WARNING..This unit does not have a Compatible Modem attached
  815.          
  816.           WARNING..The Modem Device appears to be off or not connected
  817.          
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  836.                                        Page 13
  837.  
  838.  
  839. The registers are now displayed for diagnostic tests, and a conclusion
  840. based on the status of the registers is displayed. There are many reasons
  841. why the modem/uart could fail. See the error code section for details. If
  842. the Uart is fine, but the modem is not compatible, the program will tell
  843. you that the Uart hardware tests ok and display this in a window to the
  844. right of the register display.        
  845.  
  846. Note: The reason for testing the modem command set so extensively is so
  847. there can be no doubt about the modem accepting commands. You can force
  848. The Modem Doctor to believe it has a modem with a compatible
  849. microprocessor by using the hot-key Alt-F. See Section 4 about Menu system
  850. commands.
  851.          
  852. B. Uart Tests     
  853. ---------------     
  854. The uart test is performed every time either the modem or the uart test is
  855. selected. Essentially, the uart test programs all of the registers of the
  856. uart and looks to see that the correct values have been placed in them. If
  857. any one of the registers fails to set, the Modem Doctor will display all
  858. of the registers and a diagnostic message. After that, it looks to see
  859. that an RS-232 loop is active. If not, it displays an error message saying
  860. that the loop is either disconnected or a register in the uart is
  861. defective. If all checks well, the type of uart chip that is installed is
  862. returned. The type of uart chip is important for the way the Modem Doctor
  863. will test and display the uart. Essentially there are 3 types it can
  864. detect;      
  865.          
  866. 8250-B
  867. This is the original uart installed in many PC's and serial port add-on
  868. cards.      
  869.          
  870. 16450/8250-A
  871. This is an upgraded uart that fixes a bug in the interrupt enable register
  872. of the 8250-B and also tri-stated the OUT2 pin of the chip during
  873. loopbacks. It also adds a scratch-pad register as the highest register.
  874. This register is tested by the Modem Doctor but not displayed because it
  875. never has what you would consider as a "correct" setting. The 16450 is   
  876. used primarily in 80286 (AT) systems.
  877.  
  878. 16550
  879. This chip is essentially a faster 16450. However, it cannot be used in a
  880. FIFO buffering mode, but it does allow for a programmer to use multiple
  881. DMA channels and thus increase throughput on an AT or higher class
  882. computer system.      
  883.  
  884. 16550A(x)
  885. This chip is a faster 16450 with a built in transmit and receive FIFO
  886. buffer. It also allows multiple DMA channel access. You should see this
  887. chip in your 80386 or RISC type machine. You should also consider
  888. installing this chip if you do any serious communications at 9600 bps or
  889. higher while you are multi-tasking. Whenever a 16450,16550 or 16550AN is
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  905.                                        Page 14
  906.  
  907.  
  908. displayed, different diagnostics and/or different register mnemonics are
  909. displayed. The 16550AN's ability to enable and disable FIFO mode is also
  910. tested. In any case and with any uart, each register is checked for proper
  911. values. If anyone of them fail, a window will open and display a possible
  912. cause for the problem. 
  913.  
  914.                    Preliminary Diagnostic Checks of Hardware 
  915.                    ----------------------------------------- 
  916.                           Testing Uart Hardware Only  
  917.                           -------------------------- 
  918.                         A 8250-B Uart has been detected 
  919.                       Modem - Uart Status appears correct
  920.          
  921. The first time through these tests, the registers will display for
  922. diagnostics. Unlike the modem tests, only the uart registers are
  923. displayed. From then on, if the test results are correct, you will be
  924. prompted if you wish to have the registers displayed. If a test fails at
  925. any time, you will always see the registers displayed along with an        
  926. appropriate diagnostic message.        
  927.          
  928. C. Return to main menu     
  929. ----------------------     
  930. Selecting this returns you to the main menu, this allows you to change an
  931. entry made in error without having to wait for the diagnostic checks to
  932. fail. In any event, after any of these tests have been run, you will then
  933. enter the Modem Doctor's Main Menu.
  934.  
  935.  
  936. Section 4.0 The Main Menu
  937. -------------------------
  938. The main menu consists of a sliding bar from which you make your selections. 
  939. Using the arrow keys you slide left or right. Pressing ENTER selects a 
  940. feature. If the feature has a pulldown window, you use the up or down arrows 
  941. to navigate, and then ENTER to select that feature.
  942.  
  943. 4.01 Hot-Key selection 
  944. ----------------------  
  945. In addition to these menu selections, there are three hot-keys that are
  946. active at nearly all times in the Modem Doctor. The ALT-B combination can
  947. be used to change the baud rate from the main menu, from inside pulldowns
  948. and Manual test section. A window will pop-up and you can pick your
  949. desired serial port speed. This can save a lot of time when you wish to
  950. test a modem at various speeds. Using the Setup / Test Modem & Uart
  951. mode is the safest way (because it verifies the modem microprocessor
  952. accepts commands properly at the selected speed), however if you use the
  953. ALT-B command, you will take a short-cut that can help you when testing
  954. your modem. 
  955.        
  956. The next hot-key is ALT-F, or FORCE Micro on-line. Actually, there is no
  957. "force" involved. By pressing this key, you make the Modem Doctor believe
  958. there is a AT Instruction set compatible modem attached. This can be handy
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  974.                                        Page 15
  975.  
  976.  
  977. for troubleshooting a modem that doesn't work properly at certain speeds
  978. or under certain conditions.  The Setup Test Modem & Uart section will not
  979. allow any AT Instruction set Carrier tests on modems that it cannot
  980. properly setup. The ALT-F combination bypasses this and allows such
  981. testing. When you press ALT-F, you will notice the Status Bar will say
  982. that a modem microprocessor is on-line.  Version 4.0 now allows this key
  983. to be operated as a toggle between on-line and off-line. This key is
  984. active inside of any menu at any time.
  985.  
  986. Another hot-key is ALT-T. This is new with Modem Doctor 5.0. It allows you to 
  987. toggle how Modem Doctor treats the transmission of characters. Most times, 
  988. interrupt driven transmissions are used because they are fast, waste no CPU 
  989. time looping, and give the best throughput. However, some early 8250 uarts 
  990. cannot handle interrupt-driven transmits without errors. When you start Modem 
  991. Doctor, transmit-driven interrupts are enabled. If you experience errors 
  992. during tests, try disabling this feature. If your errors go away, you either 
  993. have a uart that cannot handle interrupt-driven transmit routines, or your 
  994. system is too slow to process and support this feature.
  995.  
  996. The last hot-key is the ALT-H for help. This key will give you varying
  997. levels of help. From the main menu, it gives a terse help just like
  998. pressing the down arrow key does. Inside of a pulldown, it gives you
  999. expanded help, just as selecting the appropriate help section of the
  1000. pulldown also does.
  1001.  
  1002. 4.1 Login In Comm ports     
  1003. -----------------------     
  1004. When you select this menu, you are offered these choices                   
  1005.  
  1006. ╔[  Comm Port Login  ]═══════════╗
  1007. ║ Let me Auto Detect COMM Ports  ║ <- Searches for all Comm ports
  1008. ║ You Manually Enter COMM Ports  ║+<- You enter port addresses
  1009. ║ Help with Auto login Commands  ║ <- Detailed help or ALT-H
  1010. ║      Return To Main Menu       ║
  1011. ╚════════════════════════════════╝    + registered version only
  1012.  
  1013. Option 1 repeats what the Modem Doctor does when you first begin to run
  1014. the program. Option 2 allows you to enter a "non" standard port address
  1015. and assign one of the two Interrupt lines to use with the Uart. Option 3 
  1016. gives you an expanded, on-line help description of these tests. Option 4
  1017. returns to the main menu.      
  1018.  
  1019. 4.11 What do IRQ's and COMM Ports do ? 
  1020. ---------------------------------------      
  1021. Each time a character is received by a modem, it has to get the attention
  1022. of the computer by raising an interrupt request line (IRQ). PC-type
  1023. computers have 8 of these lines, AT-type (ISA bus), MCA and EISA computers
  1024. have at least 16. The 8259 Interrupt controller chip handles these
  1025. requests for attention. By design, COM1 uses IRQ4 and COM2 uses IRQ3. IRQ7
  1026. is assigned to a printer, IRQ5 to the Hard Drives. It is possible to use
  1027. COM1 and COM2 or COM3 and COM4 at the same  time, but you cannot use COM1
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1043.                                        Page 16
  1044.  
  1045.  
  1046. and COM3 or COM2 and COM4 at the same time because these share IRQ lines.
  1047. If you needed to use 3 or more COMM ports at the same time, you would need
  1048. to use another IRQ line. The best bets are IRQ7 and IRQ5, because they may
  1049. be available when you need them. IRQ7 is really only needed by programs
  1050. that use printer interrupts (background type spoolers for example). IRQ5
  1051. is used by fixed disks. It may or may not cause a conflict if you use this
  1052. IRQ line with your modem. PC type computers are quite limited because they
  1053. only have 8 IRQ lines and most are reserved. AT type computers have 16 IRQ
  1054. lines. 
  1055.  
  1056. A good tip would be to consult your hardware manual to find out if you can
  1057. or can't use these other IRQ's. However, if you do not need to use 3 or
  1058. more COMM ports at one time, then it is best to stick to the reserved IRQ4
  1059. and IRQ3 for all of your activity. 
  1060.          
  1061.          
  1062. 4.12 Port assignments and their meaning 
  1063. ---------------------------------------  
  1064. Like IRQ lines, certain port addresses were reserved to work with the PC's
  1065. external hardware devices. Two of these were reserved by all
  1066. manufacturers; 3F8 (HEX) and 2F8 (HEX).  Although only two COMM ports were
  1067. supported by the original ROM-BIOS, there are two additional port memory
  1068. locations available for use by MS-DOS and PC-DOS applications. These
  1069. reserved port addresses are 3E8 (HEX) and 2E8 (HEX). Most internal modems
  1070. come with these 4 ports as selections along with several IRQ line
  1071. combinations.  There is a "quirk" in the way that the ROM-BIOS logs in
  1072. these ports. If the Power on self-tests (POST) do not find a 3F8 serial
  1073. port but they do find a 2F8, then the 2F8 serial port is mistakenly 
  1074. assigned to COM1. To add to this, the reserved IRQ line for COM1 is IRQ4.
  1075. But this serial Port of 2F8 is using COM2's  address, which means it needs
  1076. IRQ3 instead of IRQ4. So, if you are trying to use Basic, Pascal, or DOS
  1077. for COM1 operations, the serial port or modem will not be able to work.
  1078. The general rule thus is "No COM1 without COM2". 
  1079.  
  1080. The Modem Doctor when it is run will detect this log-in problem and
  1081. display an "alert-bar" with a message to you that points out this error.
  1082. You can then elect to correct this for the purposes of testing. Remember
  1083. though, you can only fix these addresses permanently by changing the
  1084. settings on your serial port or internal modem. You can run Modem Doctor
  1085. with the /X switch to fix this problem at boot time until you do change
  1086. the address settings permanently. The addresses for PC's are standardized
  1087. in order for communication programs to properly work. As stated above, the
  1088. industry standards are;      
  1089.         
  1090.          COMM 1  3F8   COMM 2  2F8    COMM 3  3E8    COMM 4 2E8
  1091.          IRQ4          IRQ3           IRQ4           IRQ3      
  1092.  
  1093.          
  1094.          COMM 5  3F8   COMM 6  2F8    COMM 7  3E8    COMM 8  2E8
  1095.          IRQ7          IRQ7           IRQ5           IRQ5      
  1096.          
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1112.                                        Page 17
  1113.  
  1114.  
  1115.          
  1116. The port addresses for serial ports (1-4) are held in a reserved area of
  1117. memory. The "base port" of each of these uarts is saved in a distinct
  1118. area. When you first start the Modem Doctor, the program checks these
  1119. locations to see if there are any Comm ports already logged in by Dos. If
  1120. not, a search is conducted for the PC's default Comm 1 and Comm 2 port
  1121. values and these are logged in. Next, a search is performed for the other
  1122. industry standard Comm ports. Some PC's already log these in, however
  1123. IBM-PC's and those that mimic exactly their ROM-BIOS routines do not log
  1124. in a COMM 3 or a COMM 4. The Modem doctor does log these in, and as a side
  1125. benefit, these stay logged in until the next warm or cold boot is 
  1126. performed on your computer. Why would Dos not log in a port? Well, some
  1127. multi-tasking programs overwrite this area to prevent "swapping" of
  1128. communication programs and it is possible that they might not be properly
  1129. restored on exit. Next, a search is made for the custom comm ports 5-8.
  1130. These ports are not held in DOS at all, but are held in program memory by
  1131. the Modem Doctor after a user logs the port in using the Manual log-in
  1132. mode (see below). If one of these ports is found, it will be added to the
  1133. comm port option menu for you to use when you test the modem.  The reason
  1134. for the custom ports is to help users who are using non-standard interrupt
  1135. lines (IRQ7,IRQ5). Unlike the Dos logged-in ports, these assignments
  1136. disappear when the Modem Doctor is exited. The Modem Doctor follows the
  1137. accepted arraignment of these comm Port /IRQ line pairings. However, you
  1138. do have full control at all times over all port addresses and IRQ
  1139. assignments and can change them using the Manual Login mode.  
  1140.  
  1141. As far as the 2 Options presented by the Login Mode, option 2 is the only 
  1142. real option available. Please use it with caution. The only need for this
  1143. option is for logging in a comm port that does not use any of the listed
  1144. industry standards as its base port address or IRQ line assignments.
  1145. Consult your serial port or Modem's user manual to make sure you enter the
  1146. exact port address and select the correct Interrupt line to use with it.
  1147. Otherwise the Modem Doctor will not recognize or be able to test any
  1148. device hooked to this port. Protection is included in this routine to keep
  1149. someone from accidentally entering a port that is used by the system
  1150. board, display adapters, or fixed disk adaptor. Entering any of these
  1151. values, or an error, will result in the display;
  1152.  
  1153.                  "WARNING...RESERVED port...RETRY ENTRY"      
  1154.  
  1155. After running option 1 or 2 , you must tell the Modem Doctor which comm
  1156. port you wish to use so that testing can begin. Pressing the ESCAPE key or
  1157. pressing a left or right arrow key works the same as Option # 3 and
  1158. returns you to the main menu.              
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1181.                                        Page 18
  1182.  
  1183.  
  1184.  
  1185. 4.13 Testing defective Ports 
  1186. ----------------------------  
  1187. Whenever the Modem Doctor checks to see if a port is working properly, it
  1188. checks the status of several registers. If a uart appears "dead", the
  1189. Modem Doctor will tell you that the port was not "found". You can use the
  1190. Manual mode and override this determination. This allows you to test a
  1191. defective port to find out what is wrong. If you tell the Modem Doctor for
  1192. example to use serial Port 2F8 as COM2  and you do not have a COM2, the
  1193. message "COM2 not Found" will be returned with an option "Override [Y/N]
  1194. ?". Answering "Y" will force the login of this port.  Certainly there is
  1195. no benefit to testing a non-existent port, but a port that is defective
  1196. may not be logged-in. So, you now have the option to test this defective
  1197. port hardware to pinpoint a problem. Combined with the register display
  1198. and diagnostics, you will most likely be able to pin-point any uart
  1199. problem quickly and easily. 
  1200.  
  1201. 4.2 Regs     
  1202. -------------      
  1203.  
  1204. ╔[  Register Tests  ]══════════════╗
  1205. ║ Quick Uart Register Diagnostics  ║ <- Displays all registers
  1206. ║ DTR/DSR  RTS/CTS echo test       ║ <- Tests handshake lines
  1207. ║ Dynamic  RTS/CTS handshake test  ║+<-|Handshakes under simulated
  1208. ║ Dynamic Xon/Xoff handshake test  ║+<-|on-line conditions.
  1209. ║ Display any 10 S-registers       ║ <- Display S-registers
  1210. ║ Help and Info on these tests     ║ <- Help or ALT-H
  1211. ║       Return To Main Menu        ║
  1212. ╚══════════════════════════════════╝
  1213.                                              + registered version only
  1214. The register display section can be an invaluable diagnostic tool. What
  1215. this does is "poll" all of the status registers of the uart, and the
  1216. interrupt controller to tell you exactly what is going on.  When you use
  1217. the setup mode, the Modem Doctor checks all of these registers for correct 
  1218. information. If something wrong is discovered, a warning is displayed on
  1219. the screen telling you what the Modem Doctor believes is wrong. Many
  1220. different error conditions are checked, see the error code section for a
  1221. listing. Each register contains a Mnemonic for each one of the data bits.  
  1222. Bits that are a logic low ( = 0) are displayed in low intensity, those
  1223. that are a logic high (= 1) are displayed in high intensity. On a color
  1224. monitor, this is easy to see. On a Mono Monitor, make sure you have the 
  1225. brightness and contrast controls properly adjusted to see the difference
  1226. between the two status conditions.  (Note: Version 4 allows you to pick
  1227. your own custom colors, however, it will still alternate between high
  1228. intensity and low intensity shades of the colors you select for the uart
  1229. register displays).
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1250.                                        Page 19
  1251.  
  1252.  
  1253.  
  1254. -[ Line Control Register ]----------      
  1255. |  DLB STB STP EPS PEN STB WS1 WS0  |     
  1256. ------------------------------------      
  1257. This register controls many of the setup characteristics of your uart and
  1258. how it behaves to your PC. This register is responsible for setting baud
  1259. rate, setting break code transmission, parity, and the length of the
  1260. serial stream  word. 
  1261.          
  1262. DLB    Divisor Latch          Used to access the baud rate registers.      
  1263.                               Should be low for all displays.
  1264.          
  1265. STB    Set Break              If high, the modem transmits a
  1266.                               break signal, should be low normally.      
  1267.  
  1268. STP    Stick Parity           Should be low normally    
  1269. EPS    Even Parity select     High = even parity..should be low normally   
  1270. PEN    Parity Enable          Enable parity checks, should be low normally
  1271.  
  1272.  
  1273.  
  1274. STB    Stop Bits              Number of stop bits, should be low normally  
  1275.                               to indicate 1 stop bit character only.
  1276.  
  1277. WS1    Word Length Select 1     
  1278. WS0    Word Length Select 0   These two bits are used to determine the     
  1279.                               serial data word length. Both should be high 
  1280.                               normally to indicate a length of 8 bits.
  1281.          
  1282. -[ Line Status Register ]----------- 
  1283. |      TSE THE BI  FE  PE  OE  DR   |      
  1284.  ___________________________________      
  1285.          
  1286. The line status register reports error conditions that might have occurred
  1287. between the PC and the Uart.      
  1288.  
  1289. TSE    TX Shift Register      A high indicates that all characters         
  1290.                               sent to the Uart were transmitted.  Should
  1291.                               be High Normally.      
  1292.  
  1293. THE    TX Holding Register    A high indicates that the Uart can now       
  1294.        Empty                  accept a new character from the PC. Should 
  1295.                               be high normally. 
  1296.  
  1297. BI     Break Interrupt        A high indicates that a break signal was     
  1298.                               received. Should be low normally.      
  1299.  
  1300. FE     Framing Error          A high indicates that a serial data train 
  1301.                               did not have a proper stop bit. Should be
  1302.                               low normally.   
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1319.                                        Page 20
  1320.  
  1321.  
  1322. PE     Parity Error           A high indicates that the received serial    
  1323.                               data's parity did not match what the uart
  1324.                               was programmed to receive. Should be low     
  1325.                               normally.     
  1326.  
  1327. OE     Overrun Error          A high indicates that a character in the     
  1328.                               receive buffer was not read by the PC in     
  1329.                               time, and another character overwrote and
  1330.                               destroyed it. Should be low normally. 
  1331.  
  1332. DR     Data Ready             A High indicates that a character has been   
  1333.                               received and is ready to be read by  the PC  
  1334.                               from the receiver buffer. Should be low
  1335.                               normally for these test, but can vary while  
  1336.                               data is coming in from the modem. 
  1337.  
  1338.  
  1339. -[ Modem Control Register ]---------
  1340. |              LP  OT2 OT1 RTS DTR  |     
  1341. ------------------------------------       
  1342.          
  1343. The Modem Control register handles all of the interfacing between the    
  1344. Uart and the modem. Only 5 signals are needed for this level of control.   
  1345.  
  1346.          
  1347. LP     LOOP                   A high indicates that the loopback digital   
  1348.                               diagnostic has been activated. This feature  
  1349.                               only works with 8250 uarts or those that are 
  1350.                               100% compatible. This is used in the digital 
  1351.                               loopback test. 
  1352.  
  1353. OT2    OUT 2                  A high enables the uart to generate
  1354.                               interrupts. A low disables interrupts. This
  1355.                               should always be high for testing purposes.  
  1356.    
  1357. OT1    OUT 1                  On 100% compatible modems, a high on this 
  1358.                               pin will perform a hardware reset of the
  1359.                               modem in some compatible designs. Normally
  1360.                               this is a low.
  1361.  
  1362. RTS    Request to Send        A Handshaking signal that is used by some    
  1363.                               modems to enable data transfer between the
  1364.                               modem and the Uart. Should be high for
  1365.                               testing purposes.
  1366.  
  1367. DTR    Data Terminal Ready    A Handshaking signal that is used by some    
  1368.                               modems to enable data transfer between the
  1369.                               modem and the uart. Should be high for       
  1370.                               testing purposes.
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1388.                                        Page 21
  1389.  
  1390.  
  1391.  
  1392. -[ Modem Status Register ]----------      
  1393. |  RLS RI  DSR CTS DRD TER DDR DCS  |     
  1394. ------------------------------------      
  1395. The Modem Status Register returns the status of the control signals sent
  1396. by the modem to the Uart.      
  1397.          
  1398. RLS    Received Line Detect   A high indicates that a carrier has been     
  1399.                               received by the modem. When the Analog
  1400.                               tests are run, this should be high. If it is 
  1401.                               not, it is still possible that the modem
  1402.                               is ok, however the cable from the modem to   
  1403.                               the uart (for externals only) might not have
  1404.                               a complete circuit due to faulty wiring of   
  1405.                               the RS-232 cable. This signal is very
  1406.                               important for some communications programs   
  1407.                               to operate properly.      
  1408.  
  1409.  
  1410.  
  1411. RI     Ring Indicator         A high indicates that the modem detected a   
  1412.                               ringing signal on the phone line. 
  1413.  
  1414. DSR    Data Set Ready         This is part of the DTR/DSR Handshaking pair 
  1415.                               that is used by some modems to control the   
  1416.                               flow of data. Normally be a high. 
  1417.  
  1418. CTS    Clear to Send          This is part of the RTS/CTS Handshaking pair 
  1419.                               that is used by some modems to control the
  1420.                               flow of data. Should normally be a high.
  1421.  
  1422. DRD    Delta Received         Line Signal Detect. A high indicates that 
  1423.                               the Received Line Signal has changed state.
  1424.                               Some communications programs use this also 
  1425.                               as an indication that a carrier was detected
  1426.                               by the modem. 
  1427. TER    Trailing Edge
  1428.          Indicator            A high indicates that the Ring Indicator     
  1429.                               changed state. Some communications programs  
  1430.                               use this as an indication that the phone as  
  1431.                               rung.      
  1432.  
  1433. DDR    Delta Data Set Ready   Indicates that the DSR signal has changed    
  1434.                               state.      
  1435.  
  1436. DCS    Delta Clear to Send    Indicates that the CTS signal has changed    
  1437.                               state. 
  1438.          
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1457.                                        Page 22
  1458.  
  1459.  
  1460.  
  1461. If a 8250-B / 16450 or 8250A Uart was detected, the following is
  1462. displayed;      
  1463.        
  1464. -[ Interrupt ID Register ]----------
  1465. |                      ID1 ID0 ITP  |     
  1466. ------------------------------------       
  1467.          
  1468. The Interrupt ID Register is used to tell the CPU what kind of interrupt
  1469. occurred.      
  1470.  
  1471. ID0    Interrupt Bit 2     
  1472. ID1    Interrupt Bit 1        These two signals are a binary code which 
  1473.                               can be read by the CPU to tell what kind of  
  1474.                               interrupt occurred. Both bits high indicates
  1475.                               an error occurred or a break interrupt was
  1476.                               received.  Bit 2 high and Bit 1 low
  1477.                               indicates that data is ready to be read by
  1478.                               the CPU. Bit 1 high and bit 2 low indicates
  1479.                               that a ring signal or carrier signal was
  1480.                               received. For testing purposes, only the
  1481.                               Data ready mode is used. 
  1482.  
  1483. ITP    Interrupt Pending      A Low indicates that an interrupt has
  1484.                               occurred. For testing purposes, this should
  1485.                               always be high if data was successfully read
  1486.                               by the Modem Doctor. If it is not, then an
  1487.                               interrupt did occur but the CPU did not
  1488.                               respond. Suspect a problem with an interrupt
  1489.                               controller chip or the uart interrupt
  1490.                               generating capability. If a 16550 or
  1491.                               16550A(x) chip was detected, the register
  1492.                               selection uses the enhanced register
  1493.                               display.             
  1494.          
  1495.  
  1496. If a 16550A(x) was detected, the appearance of the Interrupt ID register
  1497. changes and the following is displayed;
  1498.  
  1499. -[ Interrupt ID Register ]----------
  1500. | FEM FEL          ID2 ID1 ID0 ITP  |     
  1501. ------------------------------------   
  1502. FEM   FIFO Enable MSB         This is the most significant bit of the FIFO
  1503.                               register. It should be high on both the
  1504.                               16550 and 16550AN if the FIFO buffering is
  1505.                               enabled. Normal Modem Doctor status shows
  1506.                               this as a logic low (unless testing is
  1507.                               performed).  
  1508.  
  1509. FEL   FIFO Enable LSB         This is the least significant bit of the
  1510.                               FIFO Register. It should be a high on the
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1526.                                        Page 23
  1527.  
  1528.  
  1529.                               16550A(x) only! The 16550 always displays
  1530.                               this bit low. Again, the normal Modem Doctor
  1531.                               status will show this as a logic low (unless
  1532.                               testing is performed).
  1533.  
  1534. ID2   FIFO Timeout            This signal is raise high by a 16550A(x) to
  1535.                               indicate that it is holding characters for
  1536.                               the CPU to read, but it is less than what
  1537.                               the CPU has requested to be interrupted for.
  1538.                               The FIFO buffer can be as deep as 14
  1539.                               characters. If only 8 have come in, the CPU
  1540.                               will not be interrupted. The 16550A(x) is
  1541.                               programmed to interrupt after a period of
  1542.                               time has gone by during which no characters
  1543.                               were received in order to force the CPU to
  1544.                               get what it is currently storing. Normal
  1545.                               operation should keep this line low, if it
  1546.                               is high at any time there is a problem with
  1547.                               the uart.  
  1548.  
  1549.          
  1550. -[ Interrupt Enable Register ]------      
  1551. |                  ESI ELI ETI ERI  |     
  1552. ------------------------------------      
  1553.          
  1554. The Interrupt Enable register is programmed to allow certain types of    
  1555. interrupts to occur.      
  1556.  
  1557. ESI    Enable Status          A high causes the uart to generate an
  1558.                               interrupt whenever RI or RSD signals in the
  1559.                               Modem Status register go high. Should be low
  1560.                               for testing.
  1561.  
  1562. ELI    Enable Line            A high causes the uart to generate an 
  1563.                               Interrupt whenever an error or break
  1564.                               interrupt is detected in the Line Status
  1565.                               Register. Should be low for testing.
  1566.  
  1567. ETI    Enable Transmitter     A high causes the uart to generate a holding 
  1568.                               register interrupt whenever the THE signal 
  1569.                               of the empty interrupt line status register
  1570.                               goes high. Should be low for testing.        
  1571.                               
  1572.  
  1573. ERI    Enable Receive Data    A high causes the uart to generate an ready  
  1574.                               interrupt whenever data is ready to be read
  1575.                               by the CPU. The DR line of the line status 
  1576.                               register going to a high state generates
  1577.                               this  condition. This signal should be high
  1578.                               for testing purposes, since it is the only
  1579.                               interrupt needed by the Modem Doctor.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1595.                                        Page 24
  1596.  
  1597.  
  1598.  
  1599. -[ Interrupt Mask Register ]--------      
  1600. |  IQ7 IQ6 IQ5 IQ4 IQ3 IQ2 IQ1 IQ0  |     
  1601. ------------------------------------      
  1602. The interrupt mask register is contained on the 8259 priority interrupt
  1603. controller on your computer's motherboard. Each one of these hardware
  1604. interrupts corresponds to an external device.      
  1605.  
  1606. IQ7   Printer Interrupt (can be used by Custom COM5 or COM6)
  1607. IQ6   Floppy Disk Interrupt     
  1608. IQ5   Hard Drive interrupt (can be used by Custom COM7 or COM8)
  1609. IQ4   COM1 Interrupt (also COM3)     
  1610. IQ3   COM2 Interrupt (also COM4)     
  1611. IQ2   reserved by IBM (Gateway to second 8259 on AT's)     
  1612. IQ1   Keyboard Interrupt     
  1613. IQ0   Timer Interrupt      
  1614.          
  1615.  
  1616.  
  1617. Under Normal Conditions, IQ0,IQ1 and IQ6 should be lit, along with IQ4 if
  1618. testing COM1 (or COM3)  or IQ3 if testing COM2 (or COM4). In addition,
  1619. other lines could be lit depending on your computer. The only line the
  1620. Modem Doctor looks for is the IQ4 or IQ3 lines (depending on which serial
  1621. port you are testing).   
  1622.  
  1623.  
  1624. 4.30 Handshaking tests
  1625. ----------------------
  1626. Just like a handshake between friends, the Modem Doctor tests to see that
  1627. your computer uart and the modem are properly exchanging handshaking for
  1628. data communication. There are 4 tests for proper operation. Two of them
  1629. are static (meaning that the control lines between the computer and modem
  1630. are raised and lowered), and two of them are dynamic (meaning that the
  1631. modem is placed in a self-connect mode and data is sent to the modem).
  1632.  
  1633. Static test results can vary modem to modem. Some modems echo control line 
  1634. toggles...in other words, if DTR goes low, so will DSR. Other modems do not. 
  1635. So, it would be considered normal for a modem *not* to pass this particular 
  1636. test. However, if you wish to test a cable, and at the end you place a 
  1637. loopback plug, then the static echo test should pass. Otherwise, your cable 
  1638. is wired incorrectly!
  1639.  
  1640. The static RTS/CTS tests are conducted the same way, however this
  1641. handshake pair is important for high-speed modem users. Again, working 
  1642. through a modem, you will see a failure (unless using the modem for 
  1643. Synchronous Communications, something most users never do). However, with a 
  1644. loopback plug, you should see the static test pass. The static tests above 
  1645. are designed to show that your cabling to the modem is proper, when verified 
  1646. with a loopback plug. However, these tests cannot verify if your modem 
  1647. microprocessor will act properly on this handshaking information. 
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1664.                                        Page 25
  1665.  
  1666.  
  1667. The dynamic tests force your modem to self-connect. Next the RTS (or DTR) 
  1668. lines are dropped (depending on which test is run). Then 20 characters are 
  1669. sent to the modem. If the modem is properly using handshaking, no characters 
  1670. will be sent back to the computer. If any characters are received, then your 
  1671. modem ignored the handshake request. In most cases, if the static tests 
  1672. passed but the dynamic failed, it means your modem needs to be setup for 
  1673. testing. 
  1674.  
  1675. The Modem Doctor offers you the choice of programming your modem to test
  1676. its ability to handshake. Using this mode requires that you have selected
  1677. the proper modem driver from the Carrier mode before hand, otherwise
  1678. incorrect commands will be sent to your modem. If you know you have the
  1679. right driver, then you can go ahead and see if your modem is set properly
  1680. or not.
  1681.  
  1682. None of the commands sent to the modem are permanently stored in the
  1683. modem. If the Modem Doctor enables handshaking and it works, but your
  1684. setup in the modem does not work, then you have to reprogram the modem
  1685. yourself. You can use the Interactive terminal mode to do this if you wish
  1686. without leaving the Modem Doctor. Also, in order for these tests to be valid
  1687. you must be using a modem that supports RTS/CTS and XON/XOFF handshaking 
  1688. modes of operation.
  1689.  
  1690.  
  1691. 4.30A S-Register Displays
  1692. -------------------------
  1693. The most important S-registers are the first 16. These determine many of the 
  1694. abilities and options that your modem can use during communication sessions. 
  1695. However, today's high-speed modems have many more registers, in fact some 
  1696. have up to 200! After the first 16, no one really follows any sort of "plan", 
  1697. each modem manufacturer is pretty free to do what they wish. From a 
  1698. diagnostic standpoint, this is a nightmare senario. Even with the same 
  1699. manufacturer, different ROM versions change how these registers are used.
  1700.  
  1701. The "compromise" position is allow for the viewing of S-registers in groups 
  1702. of 10. You pick the starting register, and the next 10 are displayed. Values 
  1703. of 0 (appearing slowly) usually indicate that the selected register doesn't 
  1704. exist. As with all Modem Doctor routines, you cannot change any of these S-
  1705. register settings, unless you go into the Interactive Mode and use the AT 
  1706. commands that allow you to change register settings. 
  1707.          
  1708. 4.31 Carrier Tests     
  1709. -----------------  
  1710. ╔[  Setup  ]═════════════╗
  1711. ║ Run the Carrier Tests  ║ <- Simulate on-line tests
  1712. ║ Select Modem Commands  ║ <- Pick a modem driver
  1713. ║ Help With Carrier Test ║ <- Help
  1714. ║  Return to Main Menu   ║
  1715. ╚════════════════════════╝
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1733.                                        Page 26
  1734.  
  1735.  
  1736. The carrier test section is used to test your modem's ability to detect a
  1737. carrier, demodulate signals on the originate frequency and answer
  1738. frequency, and to properly control the RLS (Received Line Signal) and CD
  1739. (carrier detect) modem status/control lines. All of these are essential
  1740. elements for good data communication.  When you select carrier tests, a
  1741. pulldown menu is displayed. Option 1 prompts you to run the carrier tests.
  1742. Option 2 offers you the chance to select a custom modem driver. Option 3
  1743. allows you to return to the main menu (pressing ESCAPE or a left/right
  1744. arrow key also does the same thing as option 3).  
  1745.          
  1746. 4.31 Modem Driver Modules    
  1747. --------------------------  
  1748. Although your AT instruction set modem is based on a defacto standard
  1749. developed by Hayes, there are several "supersets" of this instruction set
  1750. for various modems. Currently, the  Modem Doctor supports 9 different
  1751. software Modem Drivers for testing; Generic Compatible, &T0 (CCITT V.54 test 
  1752. sequence) instruction set, Hayes V9600, Hayes Ultra 9600, Courier HST/V.32, 
  1753. ZyXEL 1496, Practical Peripherals, Intel, and Sierra Semiconductor modems. 
  1754.  
  1755.  
  1756. When the Modem Doctor is running the setup mode, it queries the 
  1757. microprocessor for its type identification. Based on this information, a 
  1758. modem driver is selected for use. Basically, all 2400 bps and lower modems 
  1759. are assigned the Generic Driver, and all supported 9600 and higher modems are 
  1760. assigned their proper ID, based on the information your modem returns via its 
  1761. ROM code. If Modem Doctor knows its a high-speed modem but can't determine 
  1762. the type, the Courier HST/V.32 driver is assigned by default. The &T0 
  1763. instruction set modems, (those that use the CCITT V.54 test sequence), are 
  1764. tested in a different manner with a different set of instructions. Previous 
  1765. versions of the Modem Doctor would automatically switch to the &T0 
  1766. instruction set if the modem was a 2400 bps modem and if it failed to 
  1767. properly detect a carrier during testing. 
  1768.  
  1769. This function is still built into the Modem Doctor, but you can 
  1770. optionally select the &T0 driver yourself before beginning your testing in
  1771. order to speed things up. Auto-selection added about 10 seconds a pass
  1772. that can now be eliminated.  If you desire to select the &T0 set for your
  1773. modem instead of letting  the Modem Doctor do it for you. NOTE: Don't 
  1774. select this instruction set unless you know for sure that your modem is
  1775. 100% instruction set compatible with the Hayes 2400 or 2400B. Hayes 1200
  1776. bps and lower, and almost all other 2400 bps and lower modems use the
  1777. Generic Driver. You will find that 99% of all modems will work properly
  1778. with this  assignment, in fact, if you disable all data compression and
  1779. Fixed link assignments from any high speed modem (including 16800+'s), the 
  1780. generic driver will test these modems properly also! This allows people with 
  1781. high-speed modems that are not supported currently to use the Modem Doctor 
  1782. for testing. If you have a high-speed modem that is not supported, you can 
  1783. use a Combination of the Manual mode and the Generic Modem Driver to test 
  1784. these modems also.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1802.                                        Page 27
  1803.  
  1804.  
  1805. All of the modem drivers used by the Modem Doctor are built into the
  1806. program, however version 5.0, like version 4.0x, has the ability to recognize 
  1807. an external driver file. If the Modem Doctor finds and external driver file 
  1808. when it starts, it uses those command instead of the built-in drivers. The 
  1809. format for drivers has changed between version 4.0x and 5.0, and any future 
  1810. drivers will be released in both formats for users of both versions of Modem 
  1811. Doctor.
  1812.  
  1813. What purpose is there in external drivers? Well, first off, if a new modem
  1814. command set is adopted, or a bug is discovered in one of the built-in
  1815. modems, you will be able to receive a free driver file from any bbs or by
  1816. mail. This means that your copy of the Modem Doctor can stay current for
  1817. some time to come. The second reason for external drivers is to allow you,
  1818. if you desire, to have us custom design a modem driver for a particular
  1819. modem. These drivers would be designed at a modest charge and would be for
  1820. your use only. In any case, external drivers insure your investment in the
  1821. Modem Doctor.
  1822.  
  1823. 4.32 Types of Carrier Tests  
  1824. -----------------------------     
  1825. The carrier tests are designed to test your modem under actual use
  1826. conditions (minus a telephone line). Your modem uses two different
  1827. frequency bands for communication. These are the originate and answer
  1828. frequencies. AT Compatible modems can select these under command of the
  1829. Modem Doctor via the appropriate Modem Driver module. So called "Dumb"
  1830. Modems have front-panel switches that you must use to properly test the
  1831. modem. The Modem Doctor supports both types of tests, one of which is
  1832. automatically selected by the Modem Doctor depending on the hardware it
  1833. detects.  
  1834.          
  1835. 4.33 AT Instruction Set Tests 
  1836. -----------------------------     
  1837. If you selected the Test Modem/Uart option from the setup menu and a Modem
  1838. with a compatible microprocessor was detected, or if you have forced the
  1839. Modem Doctor to use the AT instruction set tests via the hot-key ALT-F,
  1840. the Modem Doctor will test the originate and answer frequencies of your
  1841. modem automatically. Before running this test, make sure you have
  1842. disconnected the modem from the telephone line, because the modem will go 
  1843. off-hook and sometimes the  dial-tone will interfere with testing. If you
  1844. press ESCAPE in this menu, you return to the main menu. Any other key
  1845. continues. You will be prompted to enter a "Loop Count". If you select a
  1846. count of 1, you will be able to hear the connecting tones on your speaker.
  1847. If you select a count greater than 1, then the speaker is turned off. 
  1848.  
  1849. After you make your selection, two windows will open on your screen. One
  1850. contains data that is being sent to the modem, the other data that has
  1851. been received by the modem. All of the characters from binary 0 to binary
  1852. 255 are transmitted. Some of these will look strange because they are
  1853. characters of the extended character set. The Modem Doctor takes a great
  1854. deal of care in preserving the normal condition of your modem before
  1855. testing, and sends all the character strings necessary to test without
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1871.                                        Page 28
  1872.  
  1873.  
  1874. disturbing any non-volatile memory settings. If you have an external
  1875. modem, you will see the data being sent and acknowledged before testing
  1876. begins. 
  1877.  
  1878. While it is setting up, the Modem Doctor tells you what is going
  1879. on, including that the modem is reset, that commands are being sent, and
  1880. that it is waiting for a carrier. The Modem Doctor waits up to 15 seconds
  1881. for either the word CONNECT or the RLS signal to go active. If this does
  1882. not happen, the Modem Doctor switches to the &T0 command set that is used
  1883. by Hayes 2400's and several other clones. This test is just as valid as a
  1884. full carrier test for these types of modems, and verifies both the modem
  1885. and the uart signal paths as does the traditional carrier test. If you
  1886. switch to this mode, you will be informed via the screen and the message
  1887. "CCITT V.54 " will be displayed. Also, if you have an external
  1888. modem, you might see the "modem ready" light flashing throughout this
  1889. test. If you selected the &T0 instruction set yourself from the Modem
  1890. Driver selection menu, then the &T0 set will be used exclusively. This
  1891. selection is mainly a convenience for some users (because the
  1892. auto-detection method takes a little longer), however it will not test any
  1893. other kind of modem properly. 
  1894.  
  1895. If you are unsure, let the Modem Doctor figure it out for you. Note, if
  1896. you select more than 1 itineration and change you mind, press ESCAPE
  1897. anytime during the test. At the next available loop-repeat time the Modem
  1898. Doctor will abort testing and give you your current status.  
  1899.         
  1900.  
  1901. 4.34 Uart or Dumb Modem Tests 
  1902. ----------------------------- 
  1903. This test works the same as the AT instruction set modem test with two
  1904. main exceptions. First, Your modem must be able to generate a carrier on
  1905. its own on the answer and originate frequencies. Most external "dumb" 
  1906. modems have front panel switches for this function. Most are marked as AL
  1907. (for Analog Loopback). If your modem can generate this, answer yes  and
  1908. follow the prompts on the screen. All testing is performed as above,
  1909. except you setup the modem instead of the Modem Doctor using its modem
  1910. driver software.  Whenever the Modem Doctor is working with the micro in
  1911. the "Off-line" mode, the dumb mode tests are used. You are prompted if
  1912. your modem can generate a carrier. Answer yes to start the testing. You
  1913. are then told to place your modem in the analog loop mode and force the
  1914. carrier detect on. Most dumb modems will light the CD light on the front
  1915. panel of the modem when you press the AL switch. This CD light sends a RLS
  1916. (Received  Line Signal) status word to the uart. The Modem Doctor looks
  1917. for this before it will allow testing in this dumb mode. If your modem
  1918. cannot generate a carrier indication, you can still test an analog
  1919. loopback using the loopback function in the registered version and select
  1920. the analog loopback tests (this is explained later in the documentation).  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  1940.                                        Page 29
  1941.  
  1942.  
  1943.          
  1944. 4.35 Error Messages 
  1945. -------------------     
  1946. If A RLS (Received Line Detect) signal is not received before testing
  1947. begins, this indicates that either a carrier is not being generated (or
  1948. properly received in self test) by the modem, or an RS-232 Cable to an
  1949. external modem is improperly wired. Although RS-232 loops will work fine
  1950. without an RLS signal being wired, there is no way for the Modem Doctor to
  1951. detect on a dumb modem if a carrier was generated. On a AT instruction set
  1952. modem, the Modem Doctor alternately looks for the word "CONNECT" to be
  1953. sent from the modem if there is no RLS signal available. If you wish your
  1954. all of your communications programs to work properly, you should get a
  1955. cable with this signal wired. If an error is detected during the analog
  1956. test, the error counter is incremented. There are two error counters; one
  1957. is used for the originate mode, and the other for the answer mode. If you
  1958. receive an error, it could be due to a problem with a uart or a modem at a
  1959. certain baud rate. Try testing at other baud rates to determine if the
  1960. errors repeat. Also errors could occur on only the originate or the answer
  1961. frequency. This is more prevalent at higher baud rates. Finally, make sure
  1962. that the modem was disconnected from the phone line before testing. The
  1963. dial-tone interferes with some modems. One other possibility exists, that
  1964. there could be a problem with a cable or interrupts not properly being
  1965. generated or properly handled by the CPU. Run the digital/loopback tests
  1966. and if the problem repeats, you might have a bad uart or motherboard
  1967. problem. Although it is unlikely, if power is removed from the modem or a
  1968. cable falls off (or who knows what else), the Modem Doctor waits a
  1969. pre-determined period of time for an interrupt to occur. If none is
  1970. detected, the warning "Modem Queue Failure" or "Modem Receiver Failure" 
  1971. will be displayed in one of the windows. These might also be displayed if
  1972. the modem never acknowledged a character being transmitted, or never sent
  1973. one back. Again, the only conditions that would cause this would be a
  1974. cable being removed between the modem and the uart, the power being
  1975. removed to the modem, or the modem "blowing up" via some unnatural means
  1976. during the test. If the RLS (Received Line Signal) is constantly active
  1977. from the modem, the Modem Doctor will tell you that you might have a
  1978. problem with a cable or the modem and that the test results might not be
  1979. valid. Reason for this is that the Modem Doctor never did detect a carrier
  1980. because the uart said it was already there. This can be traced in nearly
  1981. all cases to the modem. Change the setting of the modem to let the carrier 
  1982. Detect (CD) act normally. It should never be set to be forced on for a PC.
  1983. If so, not only the Modem Doctor, but other communications programs will 
  1984. not operate properly. 
  1985.  
  1986. 4.36 IRQ Failures
  1987. -----------------
  1988. The Modem Doctor will allow you to test a modem that might not have a
  1989. proper IRQ assignment. Such errors in jumper settings on your serial cards
  1990. or internal modems are tough to trace. If you see this error message
  1991. displayed, it means that your modem is receiving signals properly, but it
  1992. cannot communicate back to the computer over normal interrupt assignments.
  1993. This normally results from using an IRQ line reserved for one comm port
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2009.                                        Page 30
  2010.  
  2011.  
  2012. with another. See the section above about IRQ's if you get this error, and
  2013. use the table above as a guide to how to correct your problem.
  2014. IRQ failures will be displayed in the setup mode, the Regs Quick Uart
  2015. Diagnostics mode, the Analog Loopback mode and the Carrier Tests mode.
  2016.  
  2017. 4.4 Loopback Tests     
  2018. -------------------      
  2019. The loopback tests were designed for two purposes. First, to test an
  2020. RS-232 loop including cables that are properly terminated with a loopback
  2021. plug, and second, to run a digital loopback test on 8250 and 100%
  2022. compatible uarts. Additionally, the analog portion of this test can be
  2023. used to test a dumb modem that does not generate a CD (carrier detect)
  2024. signal when the AL switch is thrown on the front panel. Selecting loopback
  2025. and pressing return fetches this menu;      
  2026.  
  2027.  
  2028. ╔[  Loopback Tests  ]═══════════╗
  2029. ║ Analog Loopback using a PLUG  ║ +<- test Uart & Cables
  2030. ║ Digital Loopback 8250 UARTS   ║ +<- Uart test only
  2031. ║ Loopback Plug Technical Data  ║ +<- How to build a
  2032. ║ Help with Loopback Tests      ║     loopback plug
  2033. ║     Return To Main Menu       ║
  2034. ╚═══════════════════════════════╝
  2035.                                   +registered version only
  2036.  
  2037.  
  2038. Analog loopback tests require that you attach a Loopback plug either to
  2039. the back of the Comm port connector on your computer, or at the end of a
  2040. RS-232 Cable. This test is designed for external modems, however you could
  2041. run this on an internal modem as a test of the command channel's ability   
  2042. to receive characters. Caution should be used on internal modems, for some
  2043. will fail this test. If this happens, don't be concerned. However this
  2044. test should NEVER fail with a loopback plug, unless you were trying to
  2045. drive the line at an excessive rate. Remember, the faster the data rate,
  2046. the shorter the lines should be, and the faster the computer should be to
  2047. handle it. With a loopback plug on the back of the serial port, speeds of
  2048. 56000 bps should run fine even on a slower PC (as long as it is not multi-
  2049. tasking). If you experience problems at 56000 but not at 19200,  chances
  2050. are your hardware is fine (if you are using an 8250-B). In extensive
  2051. testing with PC's at 4.77 mhz, the original 8250-B performed flawlessly at
  2052. 56000 bps. Dumb modems can use this test also (as explained above and in
  2053. the section carrier tests). Digital loopback tests require that you have 
  2054. an 8250-B, 8250A,16450, 16550,  16550A(x) or other 100% compatible uart in
  2055. your system. These uart's have built-in diagnostics. If you are using a PC
  2056. compatible internal modem or a PC compatible serial card, then you will
  2057. definitely have a compatible uart installed.  
  2058.  
  2059. There is a design difference between the 8250-B and other compatible chips
  2060. in this series. Some of the differences were explained above, but the
  2061. important difference for the loopback test is the way the different uarts
  2062. will respond.  The 8250-B allowed its OUT2 signal to become active during
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2078.                                        Page 31
  2079.  
  2080.  
  2081. loopback testing. The OUT2 signal is used by PC compatible machines to
  2082. gate the interrupt signal off of the serial board (or internal modem).
  2083. Later designs (8250A, 16450, 16550,16550AN) tri-stated this line. As a
  2084. result, the self-test diagnostics will not allow the interrupt signal to
  2085. gate off the board and interrupt the CPU. This would cause all digital
  2086. loopback tests on these improved chips to fail. The Modem Doctor handles
  2087. this by a brute-force read of the uarts. By sampling the Interrupt ID
  2088. register, the presence of an interrupt is detected, then the receiver
  2089. buffer register is read. This method is not as efficient as a true
  2090. interrupt-driven test would be, but it is accurate. The Uart does generate
  2091. the ID for an interrupt, the character is pulled out of the uart. In
  2092. version 4.0, the speed of this routine was significantly enhanced so that
  2093. it runs approximately at the same speed as a true interrupt driven 8250-B.
  2094.  
  2095. When running this test on an 8250-B, you will see the true speed of the
  2096. interrupt handling and processing. On others, you  will see the
  2097. brute-force method. Each is an accurate test of the uart and valid at any
  2098. baud rate selected. If this test does not run, but yet the analog test and
  2099. all other tests  run fine, it means that you do not have a compatible uart 
  2100. installed.  Some uarts that are not 8250's have a problem entering this
  2101. mode properly.  If the test does not start, do not be alarmed, because 
  2102. only 8250 and true compatibles will pass this test. However this test will
  2103. NEVER start and then fail unless you do have a hardware problem. You
  2104. should never pick up a character error using this test. If you do, you
  2105. have a bad uart or  CPU motherboard problem. Both tests open up windows
  2106. (like the analog test) and send and receive characters to the uart. If you
  2107. wish to know how to build a loopback plug, select the Loopback Plug
  2108. technical data section. Pressing ESCAPE or the left/right arrows is the
  2109. same as Option 4 and returns you to the main menu.  
  2110.  
  2111.       
  2112. 4.41 Loopback Test Error messages         
  2113. ---------------------------------           
  2114. Essentially the error messages for these tests are simple. In the loopback
  2115. test mode, if a character is received incorrectly, the error counter is
  2116. advanced and a report is issued at the end. If the analog or digital tests
  2117. fail to receive or transmit characters, the messages will explain that
  2118. either the transmit queue, the receive queue failed, or that the uart did
  2119. not respond to the tests. The last message may be displayed if you have a
  2120. non-compatible uart. If the uart fails to setup properly for the digital
  2121. loopback test (does not program its registers properly), a warning is    
  2122. displayed that there is an error in one of the registers. The message will
  2123. explain what is wrong and what it expects.  Also, if you are using the
  2124. wrong IRQ line for your comm port, you will receive an IRQ failure error.
  2125. See the warning message section for more details.                    
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2147.                                        Page 32
  2148.  
  2149.  
  2150.  
  2151. 4.5 Options Mode
  2152. ---------------------              
  2153.                               ╔[  User Options Selection  ]╗
  2154.  A Built-in mini-terminal  -> ║ Interactive Terminal Mode  ║
  2155.  Status of all tests       -> ║ View Current Statistics    ║
  2156.  Reset all tests to 0      -> ║ Reset Current Statistics   ║
  2157.  Send results to printer   -> ║ Print Current Statistics   ║
  2158.                               ║ Help with these options    ║
  2159.                               ║    Return To Main Menu     ║
  2160.                               ╚════════════════════════════╝
  2161.  
  2162. The options mode allows you access to the built-in 16k communications
  2163. terminal (Interactive Mode), and the report generator features. 
  2164.  
  2165. 4.51 Interactive Mode
  2166. ----------------------
  2167. As well written as the Modem Doctor is, there exists the possibility that
  2168. a modem or a system might not be compatible with the diagnostics. The
  2169. manual section allows you to send your own string commands to the modem,
  2170. read back data, and in fact you could use this as a mini-communications
  2171. program.  If you select this mode, a window opens with the banner
  2172. Interactive Mode. At the Bottom are listed the "Hot-Keys" you can use;
  2173.  
  2174.       ALT-B   This opens a window for you to change the baud rate.         
  2175.        Note: if you are on-line with a service this might cause an         
  2176.        error between the computer and the modem. Off-line conditions       
  2177.        should work properly. 
  2178.          
  2179.       ALT-C   Clears the screen. This only clears the window of data, and  
  2180.        leaves all your prompts.   
  2181.  
  2182.       ALT-N   Add Nulls, this is new with Modem Doctor 5.0, and can be used
  2183.        to determine if your display adapter is causing "Interrupt Latency"
  2184.          
  2185.       ALT-R   This displays the Uart registers...handy for real-time       
  2186.        troubleshooting of RS-232 loops.      
  2187.          
  2188.       ALT-H   Help..this displays the basic AT Command set instructions 
  2189.        that  you could use to control your modem. Note that this is only a 
  2190.        basic set. Some modems have many extensions to this, so for         
  2191.        advanced work, consult your owners manual.      
  2192.          
  2193.       ALT-X   Exits the interactive mode and returns to the main menu.     
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2216.                                        Page 33
  2217.  
  2218.  
  2219.  
  2220. 4.51A Testing for Interrupt Latency
  2221. -----------------------------------
  2222. Interrupt Latency is caused by a hardware device (usually a hard disk or a 
  2223. video display adapter) taking longer to process a function that the time it 
  2224. takes to receive a character over your modem. Normally, interrupt latency is 
  2225. not a problem until you use DTE/DCE speeds over 19200bps. With today's high-
  2226. speed modems, its not uncommon for people to be running speeds of 38400 or 
  2227. 57600bps between computer and modem. Older display adapter, most notably 
  2228. early EGA's with "Auto-detection" circuitry, cause interrupt latency. The 
  2229. symptoms will range from loosing characters occasionally to excessive errors 
  2230. when downloading files. 
  2231.  
  2232. There is no real test for interrupt latency, because such a wide variety of 
  2233. situations can cause it. The only "cure" is to aquire a faster display 
  2234. adapter or a 16550AFN uart. Now, there is a way that you can use Modem Doctor 
  2235. to verify such an error is happening, and that is by using ALT-N. When you 
  2236. add nulls, you are telling Modem Doctor to wait a bit longer inside of a 
  2237. routine that talks to your video adapter, looking for more interrupts before 
  2238. exiting the display routine. If adding nulls improves the error rate that you 
  2239.  
  2240.  
  2241. see characters displayed (while on-line via the Interactive mode to a BBS), 
  2242. then you know you do indeed have an interrupt latency problem. There are two 
  2243. "short-cut" keys associated with ALT-N, and they are ALT+ and ALT-. ALT-N 
  2244. prompts you for a number, while ALT+ adds 1 to that number, and ALT- 
  2245. subtracts 1 from that number.
  2246.  
  2247. 4.52 View Current Statistics
  2248. ----------------------------
  2249. Whenever you log-in a comm port for testing, the Modem Doctor keeps tabs
  2250. on how many tests were run, the baud rates that were tested, and how many
  2251. errors you accumulated. You can view these statistics by using this
  2252. selection. These results are also displayed whenever you quit the Modem
  2253. Doctor.
  2254.  
  2255. 4.53 Print Current Statistics
  2256. -----------------------------
  2257. If you wish a hard-copy of your test results, just select this option. You
  2258. will be able to send this to any one of the printers the modem doctor
  2259. finds available or to a file called MDR.RPT.
  2260.  
  2261.  
  2262. 4.54 Reset Current Statistics
  2263. -----------------------------
  2264. Use this mode to reset all test results back to zero at any time.     
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2285.                                        Page 34
  2286.  
  2287.  
  2288.  
  2289. 4.6 Setup Mode     
  2290. --------------      
  2291. The setup mode consists of 2 sections. The first, the setup modem section
  2292. was covered above. Use this to change the serial port under test, the baud
  2293. rate, and the type of test to be run.        
  2294.  
  2295. The second section allows you to select the colors that you wish to work
  2296. with while using the Modem Doctor. You can select default colors,
  2297. Monochrome (black and white), or create your own custom colors.
  2298.  
  2299. If you are using a color monitor, you can use window selections to pick
  2300. the colors you like and optionally save them to a file (MDR.CFG). If you
  2301. save them, then as long as this file exists, the Modem Doctor will use
  2302. those colors in place of the default ones. To return to default, either
  2303. erase the MDR.CFG file, or select default colors and save it to disk.
  2304.  
  2305. When you enter the color selection mode, you will be presented with three
  2306. different windows that will allow you to make legal color selections.
  2307.  
  2308.  
  2309. [ Mdr Color Selection Screen ]
  2310. Select from this menu the color of normal window and error backgrounds
  2311. Background
  2312. Black 
  2313. Blue  
  2314. Green 
  2315. Cyan 
  2316. Red 
  2317. Magenta 
  2318. Brown 
  2319. Gray 
  2320.  
  2321. Select from this menu the color of all window foregrounds & sliding bars
  2322. foreground colors;
  2323. Darkgray 
  2324. Lightblue 
  2325. Lightgreen 
  2326. Lightcyan 
  2327. Lightred 
  2328. Lightmagenta
  2329. Yellow 
  2330. White 
  2331.  
  2332. If you select two colors the same (or different intensities that are the
  2333. same), the Modem Doctor will tell you your selections are invalid. After
  2334. you have made your choices, you will be presented with a window that
  2335. allows you to save your choices to a file, use the choices without saving
  2336. or reselect. If you save them to a file, a file MDR.CFG is created or 
  2337. updated. When Modem Doctor loads the next time, it will use these colors
  2338. again.
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2354.                                        Page 35
  2355.  
  2356.  
  2357.  
  2358. 4.7 Exit Program     
  2359. ----------------     
  2360. This is the only way to exit the Modem Doctor. This is necessary because
  2361. the interrupt tables and controllers of your PC must be  returned to their
  2362. original state in order to avoid problems after you  use the Modem Doctor. 
  2363. Pressing Control-C or Control-Break during the Modem Doctor will         
  2364. cause one of two things to happen. First, it will ignore what you have
  2365. done if it is critical that the program not be interrupted, or second, if
  2366. it is at all possible to exit without damage, a window will open telling
  2367. you that you can Control-Break abort if you wish..answer yes or no. You
  2368. can Control-Break during all tests and at times from menus. If you choose
  2369. to quit, the Modem Doctor cleans things up properly and exits to Dos.
  2370. Please remember this is just an emergency way of doing an exit. Use the
  2371. Exit function from  the main menu as the correct way to end the program.
  2372.  
  2373.  
  2374. 5.0 Error Messages and their Meanings     
  2375. -------------------------------------     
  2376. The Modem Doctor, if presented with an error, will make a diagnosis of the
  2377. problem. In most cases, this should be enough for you to figure out what
  2378. is wrong and go on from there to correct it.      
  2379.          
  2380. General Program Errors or Warnings
  2381. ----------------------------------
  2382. 1)   ABORT PROGRAM Control Break Key pressed..Aborting Program Run. 
  2383.      Do you wish to abort? [Y/N] : 
  2384.      - This means you have pressed the Control Break Key sometime during
  2385.      the program run. The Modem Doctor, unlike most programs, does not
  2386.      drop to dos with a Control-Break without cleaning up after itself.
  2387.      Answering Yes will clean up and stop the program. Answering no keeps
  2388.      the program running at the spot you left off at.
  2389.  
  2390.      If you answer Yes, you will see this message;
  2391.      Flushing Buffers.......Restoring Comm Port and Interrupt Vectors
  2392.      Program Aborted..all vectors restore.
  2393.  
  2394. 2)   You Must SETUP a COMM PORT first....Press any key to continue 
  2395.      - If you do not select at least 1 comm port when the program first
  2396.      starts running, you cannot run any tests. This message explains why.
  2397.  
  2398. 3)   Exchanging COM1 and COM2 Base Addresses in Memory
  2399.      COM1 Address was    %x   COM2 Address was    %x
  2400.      COM1 Address now is %x   COM2 Address now is %x
  2401.      Run MDR /X again to exchange again, these changes are gone when you
  2402.      reboot!
  2403.      - This messages is displayed when Modem Doctor is run in the exchange
  2404.      mode (MDR /x).
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2423.                                        Page 36
  2424.  
  2425.  
  2426.  
  2427. 4)   Sorry...but I cant find a modem to use... Use Login Feature to
  2428.      Manually Log in a comm port.
  2429.      - The Modem Doctor needs at least 1 comm port installed at a
  2430.      conventional port address to run. If none are available, you have to
  2431.      use the manual login mode to start testing. You should never see this
  2432.      error message with a computer unless it has no serial ports
  2433.      whatsoever.
  2434.  
  2435. 5)   Resetting modem to your default settings...please wait
  2436.      - Whenever you exit Modem Doctor and a microprocessor-based modem was
  2437.      detected, it will clean up after itself and restore your modem to
  2438.      initial settings. Uart only tests do not display this message.
  2439.  
  2440. 6)   Your foreground color equals  background..please retry
  2441. 7)   Your foreground low intensity equals background, please retry
  2442.      - These messages are displayed when you make color selection choices
  2443.      that would not be proper for the type of display monitor you are
  2444.      using.
  2445.  
  2446. 8)   Warning..I could not create the MDR.CFG file. No colors saved to disk
  2447.      - Modem Doctor could not save the file to disk, perhaps there is no
  2448.      more space on the disk or the disk is write-protected.
  2449.  
  2450. 9)   Warning..I could not read the MDR.CFG file. No colors read to disk
  2451.      - You asked Modem Doctor to load the color configuration, however
  2452.      there was none found on your disk or in the current working
  2453.      directory.
  2454.  
  2455. Setup Mode Diagnostics
  2456. -----------------------
  2457. 1)   No Response...resetting modem microprocessor ...attempt #%d
  2458.      - The Modem Doctor tried sending a simple AT command to your modem
  2459.      but it did not respond with a valid answer.
  2460.  
  2461. 2)   Modem microprocessor command mode not detected
  2462.      - The Modem did not respond to a valid, simple AT command either
  2463.      because it is on-line, jammed, or not completely compatible.
  2464.  
  2465. 3)   Modem microprocessor command bus active
  2466.      - The Modem Doctor received a correct response from the modem and
  2467.      placed it into the command mode.
  2468.  
  2469. 4)   Software reset initiated
  2470.      - A software reset clears all test registers and resets the modem.
  2471.  
  2472. 5)   Modem microprocessor memory tests OK
  2473.      - The Modem Doctor instructed your modem to run a self-test of its
  2474.      RAM/ROM contents. It responded successfully.
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2492.                                        Page 37
  2493.  
  2494.  
  2495. 6)   Modem microprocessor memory may have a problem
  2496.      - The Modem Doctor instructed your modem to run a self-test of its
  2497.      RAM/ROM contents and did not receive the proper response. Your modem
  2498.      may or may not have a problem depending on the results of all the
  2499.      rest of the testing. If all other tests are ok, chances are your
  2500.      modem might have a memory problem. If other tests fail, it could be
  2501.      because your modem is not completely compatible.
  2502.  
  2503. 7)   Modem ID reports a 1200 bps modem installed
  2504.      Modem ID reports a 2400 bps modem installed
  2505.      Modem reports a 9600+ bps modem installed
  2506.      Modem reports a 9600 /1440 bps modem installed
  2507.      - All of these messages are based on receiving correct product codes
  2508.      from your modem. Some modem manufacturers however do not place valid
  2509.      product codes in their modems, so it is possible that you might see
  2510.      the Modem Doctor give you the incorrect type of modem. This does not
  2511.      affect testing, however it does affect the type of Modem Driver that
  2512.      is automatically selected. You can override automatic selections from
  2513.      the Carrier Menu by selecting the proper driver for your modem.
  2514.  
  2515. 8)   No modem ID received...using Generic driver
  2516.      - No product code was received, so defaults are being used.
  2517.  
  2518. 9)   Modem microprocessor accepts setup commands
  2519.      Modem microprocessor did not accept setup commands
  2520.      - The Modem Doctor sends setup commands for all of its tests to your
  2521.      modem. If they were not received properly, you get an error message.
  2522.  
  2523. 10)  An 8250-B Uart has been detected
  2524.      A 16450 / 8250A Uart has been detected
  2525.      A 16550AN/AF/AFN Buffered Uart has been detected
  2526.      A 16550 Non-buffered Uart has been detected
  2527.      - The Modem Doctor programs uarts differently depending on the type
  2528.      and the test running. This will tell you what type of uart chip you
  2529.      have installed in your serial port.
  2530.  
  2531. 11)  Modem Control Register reading show that either the LOOP, OUT2, DTR
  2532.      RTS did not set properly to test. OUT2 and DTR are essential for
  2533.      proper-functioning communications. LOOP is necessary for the digital
  2534.      test to run.
  2535.      -Either the Modem Control Register is bad, or their is a problem with
  2536.      the serial port or modem.
  2537.  
  2538. 12)  Modem Status Register readings show that there is no status coming
  2539.      back from the modem to the Uart. Neither RTS/CTS or DTR/DSR Pairs are
  2540.      active. Most comm programs can work without RTS/CTS, but DTR/DSR are
  2541.      needed by most. RTS/CTS are needed by most hi-speed modems for
  2542.      handshaking.
  2543.      -Your external cable may be wired wrong, or if this is an external
  2544.      modem, check that the cable is plugged in and that the modem is
  2545.      turned on.
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2561.                                        Page 38
  2562.  
  2563.  
  2564.  
  2565. 13)  Line Control Register readings show that the word length selected is
  2566.      incorrect or you have a parity error. WS1 and WS0 should both be on
  2567.      indicating that 8 bit words are to be used. All other readings should
  2568.      be low. Parity errors could happen once but not every time. 
  2569.      -If either persists, then the Uart is defective or communications to
  2570.      the Uart are suspect.
  2571.  
  2572.  
  2573. 14)  Line Status Register readings show a problem. The Tx Holding register
  2574.      THE and the Tx Shift register TSE should be the only active signals.
  2575.      No other signals should be active. If either TSE or THE are not
  2576.      active then the Uart is not resetting properly. Uart is suspect. If
  2577.      any other signal is high, and TSE/THE are both active, then you have
  2578.      a data overrun or framing error. 
  2579.      -If this repeats, you should then suspect the Uart or connections to
  2580.      the Uart from the computer.
  2581.  
  2582.  
  2583. 15)  Modem Control Register readings show that either DTR,RTS or OT2
  2584.      signals are not set properly. DTR & RTS are needed by most comm
  2585.      programs. OT2 is essential for interrupts to occur. 
  2586.      - Uart is suspect or the interface to the Uart from the computer bus.
  2587.  
  2588. 16)  Interrupt ID Register readings show that an interrupt is pending when
  2589.      none should be. This can be caused by a modem being turned on and off
  2590.      as testing was conducted or if data was waiting to be read by a prior
  2591.      running application, or you are not using the correct IRQ line.
  2592.      -If this does not clear when you display the registers again, then
  2593.      the Uart is suspect or connections to the Uart from the computer, or
  2594.      you are using the wrong IRQ line for this comm port assignment.
  2595.  
  2596.  
  2597. 17)  Interrupt Enable Register readings show that ERI Enable Receiver ints
  2598.      is not set properly. As a result, you might not get proper
  2599.      recognition of any interrupts being generated when a character is
  2600.      received. 
  2601.      -Suspect the Uart or connections to the Uart from the computer bus.
  2602.  
  2603. 18)  Interrupt Controller has not responded to setting the IRQ4 line. This
  2604.      problem is on the system board of your computer. Run your computer
  2605.      diagnostics program to locate the error.
  2606.      -Normally IRQ4 is used for COM1 you might have a usage conflict.
  2607.  
  2608. 19)  Interrupt Controller has not responded to setting the IRQ3 line. This
  2609.      problem is on the system board of your computer. Run your computer
  2610.      diagnostics program to locate the error.
  2611.      -Normally IRQ3 is used by COM2 you might have a usage conflict.
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2630.                                        Page 39
  2631.  
  2632.  
  2633.  
  2634. 20)  Interrupt Controller has not responded to setting the IRQ7 line. This
  2635.      problem is on the system board of your computer. Run your computer
  2636.      diagnostics program to locate the error.
  2637.      -Normally IRQ7 is used by the printer you might have a usage
  2638.      conflict.
  2639.  
  2640. 21)  Interrupt Controller has not responded to setting the IRQ5 line. This
  2641.      problem is on the system board of your computer. Run your computer
  2642.      diagnostics program to locate the error.
  2643.      -Normally IRQ5 is used by the Hard Drive Controller you might have a
  2644.      usage conflict.
  2645.  
  2646. 22)  WARNING...This COMM PORT MODEM STATUS & ID REGISTERS ARE DEFECTIVE
  2647.      - This is a severe error. It means that one or more of the uart
  2648.      registers are defective. This could also be caused by logging in a
  2649.      non-existent comm port in the manual mode. You should never see this
  2650.      message displayed in an auto-detected mode unless your uart is
  2651.      definitely defective.
  2652.  
  2653.  
  2654. Uart diagnostics
  2655. -----------------
  2656. 1)   Confirmed Uart setup to proper baud rate
  2657.      - The uart Dlab (divisor latch) settings are polled to make sure they
  2658.      match what the Modem Doctor intended. If not, you see the following
  2659.      displayed;
  2660.      ERROR..Uart did not set to desired baud rate
  2661.      (you should not see this message unless the divisor latch in your
  2662.      uart is defective).
  2663.  
  2664. 2)   Trying a hardware reset of the modem microprocessor
  2665.      - None of the attention commands or soft-resets to the modem have
  2666.      worked to place the modem microprocessor on-line. A hardware reset
  2667.      simulates turning the power on and off to the modem and uart.
  2668.  
  2669. 3)   WARNING...This unit does not have a compatible modem attached
  2670.      - After many tests and hardware/software resets, the Modem Doctor
  2671.      finally deduces it cannot work with this modem because it is not
  2672.      compatible. If you have a compatible modem, then you might have
  2673.      selected the wrong baud rate to work with, or you forgot to turn the
  2674.      external modem on. If there is a hardware problem, the next screen
  2675.      you will receive will be the uart diagnostics pointing out the
  2676.      problem. 
  2677.  
  2678. 4)   Modem microprocessor ON-LINE
  2679.      - The Modem Doctor successfully communicated to the modem
  2680.      microprocessor.
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2699.                                        Page 40
  2700.  
  2701.  
  2702.  
  2703. 5)   Testing Uart hardware only
  2704.      - You are running uart-only tests.
  2705.  
  2706. 6)   WARNING...The Modem Device appears to be off or not connected
  2707.      - No status is being received from the modem indicating it is on. If
  2708.      it is on, you might have a bad cable. If you are testing a uart that
  2709.      is hooked up to a serial mouse, then you will always see this message
  2710.      displayed, for a serial mouse does not use traditional uart status.
  2711.  
  2712. Report Generator Messages
  2713. --------------------------
  2714.  
  2715. 1)   You selected to clear the report stats.This means that any errors
  2716.      found will not be reported in a final report format. 
  2717.      Are you sure [Y/N]: ? 
  2718.      - All report statistics will be cleared if you respond Yes.
  2719.  
  2720. 2)   Send to file MDR.RPT 
  2721.      Send to printer LPT1:
  2722.      Send to printer LPT2:
  2723.      Send to printer LPT3:
  2724.      Do not Print /Return
  2725.      - The printed form of your report can be sent to any one of 3 dos
  2726.      printers (if the Modem Doctor detects they are installed) or to a
  2727.      file called MDR.RPT.
  2728.      
  2729. 3)   Print Buffer full or Printer off-line
  2730.      - If the Modem Doctor cannot communicate with the printer, it is
  2731.      either receiving a busy signal from the printer (which clears when
  2732.      the busy signal is lifted) or the printer is off-line.
  2733.  
  2734. Static DTR/DSR   RTS/CTS  Handshaking tests
  2735. -------------------------------------------
  2736.  
  2737. 1)   Lowering DTR Signal..waiting for DSR to follow
  2738.      DSR did not follow DTR dropping or is set as a permanent ON
  2739.      DSR followed DTR drop...normal for all devices
  2740.      DSR did not follow DTR raising..possible cable or modem setup problem
  2741.      DSR followed DTR raise or is set as a permanent ON
  2742.      - The DTR/DSR tests work by lowering the DTR (Data terminal ready)
  2743.      signal from the computer to the modem. If the modem uses this type of
  2744.      handshaking, it should respond by lowering its signal that is picked
  2745.      up in the uart modem status register as a DSR (Data set ready)
  2746.      signal. If not, then either the modem is not set up properly
  2747.      according to standard handshaking protocol or you have a bad cable. 
  2748.      Please note, a failure to follow DTR/DSR handshaking might keep some
  2749.      communication programs from working with your modem. If you get an
  2750.      error, consult your modem manual or have the Modem Doctor test your
  2751.      cable to an external modem with a loopback plug.
  2752.      
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2768.                                        Page 41
  2769.  
  2770.  
  2771. 2)   Lowering RTS signal..waiting for CTS to follow
  2772.      Dropping RTS Signal to modem
  2773.      Modem is using RTS/CTS Handshaking properly
  2774.      Modem is not using RTS/CTS Handshake hold
  2775.      Raising RTS line    
  2776.      CTS did not follow RTS dropping...usually normal for modems
  2777.      CTS followed RTS drop...usually normal for serial devices
  2778.      CTS did not follow RTS raising...you could have a cable problem
  2779.      CTS followed RTS raise or is set as a permanent ON
  2780.      - Like DTR/DSR, RTS/CTS handshaking tests check that if the computer
  2781.      lowers its RTS (Ready to send) line, that the modem responds in kind
  2782.      and that the CTS (Clear to send) status is echoed to the uart modem
  2783.      status register. This signal is not as important as the DTR/DSR,
  2784.      however if you have a high speed modem, this test should pass to
  2785.      insure proper high-speed transfers.
  2786.  
  2787.  
  2788. Carrier and Dynamic tests
  2789. ---------------------------
  2790. 1)   Sending Carrier Test info to modem
  2791.      - Commands to self-connect are beings sent to your modem.
  2792.  
  2793. 2)   T1 Loopback commands sent waiting 5 seconds till start of test
  2794.      - The alternate &T0/&T1 instruction set is being used for self tests.
  2795.  
  2796. 3)   Carrier Detected...waiting 5 seconds to the start of the test
  2797.      - The RLS (Received line signal) went to an active state or the Modem
  2798.      Doctor received the words CONNECT from the modem during self-testing.
  2799.      The 5 second delay is necessary to allow some modems to settle down
  2800.      for proper reception of characters during self-tests.
  2801.  
  2802. 4)   Using &T1 Loopback command set to modem for this test
  2803.      - If you selected the Generic driver and the Modem Doctor failed to
  2804.      connect, it uses this &T0/&T1 instruction set automatically for its
  2805.      testing. 
  2806.  
  2807. 5)   Sending 20 Characters to the modem
  2808.      - All Dynamic DTR/DSR and RTS/CTS tests force the modem to self
  2809.      connect. Next either the DTR or RTS lines are dropped, and 20
  2810.      characters are sent to the modem. If no characters are received back
  2811.      to the computer from the modem, then the Modem Doctor reports that
  2812.      the dynamic handshaking works. If a character is received, then it
  2813.      means that type of dynamic handshaking does not work.
  2814.  
  2815. 6)   Sending Xoff Signal to modem
  2816.      - An ASCII character that tells the modem NOT to send data has been
  2817.      transmitted to the modem for dynamic Xon/Xoff testing.
  2818.  
  2819. 7)   Modem is using Xon/Xoff Handshaking properly
  2820.      - 20 characters were sent to the modem, and it properly did not send
  2821.      anything back to the computer.
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2837.                                        Page 42
  2838.  
  2839.  
  2840.  
  2841. 8)   Modem is not using Xon/Xoff Handshake hold
  2842.      - 20 characters were sent to the modem, but it send them back to the
  2843.      computer, indicating it did not recognize the dynamic Xon/Xoff
  2844.      handshake test. Normally most modems do not need this handshake.
  2845.  
  2846. 9)   Sending Xon Signal to the modem
  2847.      - This restores the modem to proper operation and clears its internal
  2848.      data buffers.
  2849.  
  2850.  
  2851. 10)  Warning...I can't test this modem because there is no RTS/CTS
  2852.      signals. If this is an external modem, you may not have a proper
  2853.      cable or the modem is off. If you have an internal, you might have a
  2854.      port conflict or a configuration switch set improperly.
  2855.  
  2856.  
  2857.      - Most times this message is due to an improperly wired cable or a
  2858.      improper configuration of some modem switches. See your modem manual
  2859.      for setup, or use a loopback plug and the Analog loopback mode to
  2860.      test the cable.
  2861.  
  2862. 11)  Setting up the modem for the Originate Mode Carrier Test..please wait
  2863.      Setting up the modem for the Answer Mode Carrier Test.....please wait
  2864.           -Self tests commands are being sent to your modem for the
  2865.           different connect modes and frequencies.
  2866.  
  2867. General program warnings
  2868. ------------------------
  2869. 1)   Note...you hit the Escape Key during testing. This means the results
  2870.      of this test is inconclusive. You should run these tests again
  2871.      without escaping for a valid performance check.
  2872.      - You can press escape during nearly all tests that the Modem Doctor
  2873.      runs (except during crucial communication modes between the modem and
  2874.      computer, in which case as soon as this communication is completed,
  2875.      the Modem Doctor will escape with this warning.
  2876.  
  2877. 2)   INTERRUPT FAILURE Warning
  2878.      Note...No interrupts were detected or generated during testing. This
  2879.      could be due to a failure of your serial port to generate interrupts
  2880.      or you have selected an IRQ line or Comm assignment in error on the
  2881.      serial card or in a custom assignment from the Login menu manual
  2882.      mode. Check your settings and if all is ok, suspect the Uart or
  2883.      serial port card.
  2884.      - This warning can be received anytime that the Modem Doctor tries to
  2885.      talk to a modem or a uart (in analog loopback test). The most common
  2886.      cause of this problem is an incorrect jumper or comm port assignment
  2887.      on your modem or serial port. See the section on IRQ's and their
  2888.      meanings to select the proper IRQ line for your port.
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2906.                                        Page 43
  2907.  
  2908.  
  2909. 3)   Fixed Rate Advisory
  2910.      Note...I had to lower the baud rate to match the connect rate. What
  2911.      this means is that you are using a high speed modem with a fixed link
  2912.      rate in a variable rate mode. You might want to check your DTE/DCE
  2913.      settings in your modem Nram if this is not desired.    
  2914.      - Most high-speed modems keep the link between the computer and the
  2915.      modem running at a fixed rate, while the connection between the modem
  2916.      and the remote modem (bbs or service) operates at another rate. This
  2917.      method allows data compression and greater throughput (characters per
  2918.      second) to be received by the computer. If you have a high-speed 
  2919.      modem, check your settings. It is recommended you run in the fixed
  2920.      link rate whenever possible so you can gain all the benefits of data
  2921.      compression with the new data protocols.
  2922.  
  2923. 4)   Failure Report 
  2924.      RLS (Received Line Signal Detect) indicates that a carrier has not
  2925.      been received by the UART. Check modem or connector wiring 
  2926.      - This is an advisory that you might have a cable wired incorrectly
  2927.      between your computer and external modem or that your modem does not
  2928.      raise the RLS signal. This is only critical if your communication
  2929.      programs never display the words "ON-LINE".
  2930.  
  2931. 5)   Modem not responding to the Analog originate test
  2932.      - Modem never went into the self-test mode. 
  2933.  
  2934. 6)   Carrier Not Detected..5 Sec Sync Delay till start of Answer test    
  2935.      Modem not responding for Analog answer test
  2936.      - A carrier should have been received by the RLS signal or the words
  2937.      CONNECT from the modem, if not, the &T0/&T1 instructions are sent and
  2938.      the test is performed. If the modem does not respond to this test,
  2939.      then the last message is displayed indicating a problem getting the
  2940.      modem to self-test itself.
  2941.  
  2942. 7)   RLS Warning
  2943.      The Received Line Signal of your modem stayed active throughout the
  2944.      testing. Some modems have a jumper or switch that should be set to
  2945.      carrier is active only when a signal is detected. Check your manual
  2946.      to change this setting so the Modem Doctor and comm programs will
  2947.      work properly. Check your modem to make sure that Carrier isn't
  2948.      forced high 
  2949.  
  2950. 8)   NOTE.Carrier (RLS Line) active, it should not be..test may not be
  2951.      valid.
  2952.      - The RLS signal was always active. This means the Modem Doctor
  2953.      cannot figure out if the modem ever entered the self-test mode. Also,
  2954.      your communications program probably will always display the "ON-
  2955.      LINE" status. Unfortunately, this type of situation is the default
  2956.      setting from the factory of most 2400 bps modems. It can be
  2957.      reprogrammed by a simple setup command. See your modem manual for
  2958.      instructions.
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  2975.                                        Page 44
  2976.  
  2977.  
  2978. 9)   SET YOUR MODEM TO ORIGINATE CARRIER FREQUENCY...PRESS TO CONTINUE
  2979.      SET YOUR MODEM TO ANSWER CARRIER FREQUENCY...PRESS TO CONTINUE
  2980.      - Dumb modem tests require you to flip switches on your modem.
  2981.      Usually this is the AL button. After you do this, the Modem Doctor
  2982.      should see a carrier and continue proper testing.
  2983.  
  2984. 10)  Loopback Transmit Error
  2985.      Loopback Queue Failure
  2986.      ESCAPE KEY PRESSED....ABORTING ALL LOOPBACK TESTS
  2987.      UART Control Lines set...waiting 2 seconds for CTS Handshake
  2988.      NO CTS Handshake Detected .Continuing test even though plug/line
  2989.      maybe bad
  2990.      Loopback Queue Failure 
  2991.      UART not responding using Analog Loopback Plug mode
  2992.      No Loopback Plug or General Failure of the Hardware
  2993.      Analog Loopback Test passed without any errors
  2994.      - If the analog loopback did not return characters or generate an
  2995.      interrupt, then the uart may have been tested without a loopback plug
  2996.      attached or there is a failure of the uart. If all was ok, a passed
  2997.      message is displayed.
  2998.  
  2999. 11)  Loopback Transmit Error
  3000.      UART not responding to the Digital Loopback test
  3001.      UART Registers did not set for Loop back test 
  3002.      UART Digital Test passed without any errors
  3003.      - If no characters were received, then either the uart you are
  3004.      working with is not 100% 8250-B compatible or defective. If
  3005.      everything was ok, a passed message is displayed.
  3006.  
  3007. 12)  Warning, Comm Port 1 is using Com Port 2's address.You should
  3008.      reconfigure your Serial Card to the correct Address.
  3009.      Otherwise,Communication programs won't properly operate.
  3010.  
  3011. 13)  Warning, Comm Port 2 is using Com Port 1's address.
  3012.      Do you want me to correct this for testing purposes only? [Y/N]: 
  3013.      - These error messages are received if the Modem Doctor found a Com2
  3014.      reserved address as Com1, or visa versa. Many PC owners that do not
  3015.      have built-in serial ports make the mistake of assigning a Com2
  3016.      address without having a Com1 installed. The ROM-BIOS cannot correct
  3017.      this problem or even detect it. The Modem Doctor does and will point
  3018.      out the error to you.
  3019.  
  3020. 14)  Flopping COM1/COM2 pointers in Memory only. Note..this is only valid
  3021.      till the next warmboot of your system. You must change your serial
  3022.      card settings to keep this permanent. Note...tests may not work
  3023.      properly because of this error
  3024.      - This message is displayed either in the exchange mode or when the
  3025.      Modem Doctor is asked to fix the problem of addresses in memory for
  3026.      testing only.
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3044.                                        Page 45
  3045.  
  3046.  
  3047. 15)  Logging out incorrect COM1 for testing purposes.
  3048.      Logging out incorrect COM2 for testing purposes.
  3049.      - If you decide not to fix a problem, the incorrect assignment is
  3050.      logged out of Dos and your choices for testing.
  3051.  
  3052. 16)  ALL Available COMM ports are in use...Press to Return
  3053.      - If 4 comm ports (shareware) or 8 comm ports (registered) are
  3054.      already in use, you cannot add any more in the auto-login mode to the
  3055.      Modem Doctor. Use the manual mode to override your choices for
  3056.      testing comm ports higher than 8.
  3057.  
  3058. 17)  Comm (x) Not Found ... override ? :
  3059.      - You told the Modem Doctor in manual mode that a port existed with a
  3060.      certain base port address. It was not found. If you override, this
  3061.      address is logged in for testing. This allows you to test a defective
  3062.      uart chip that might not be recognized by dos or the Modem Doctor as
  3063.      valid.
  3064.  
  3065. 18)  Sorry...your Modem.dat file has an invalid Comm port
  3066.      Sorry...I cannot find Modemdr.dat file in this directory
  3067.      
  3068.      WARNING...RESERVED PORT ADDRESS in Mdr.dat file
  3069.      correct address in hex must be between [ ]..ie [2F8]
  3070.  
  3071.      Sorry...your Modem.dat file has an invalid Speed..using 300 baud
  3072.  
  3073.      Modem Did not respond to setup string..run the Modem Doctor to check
  3074.      your modem.
  3075.  
  3076.      Programming according to file Mdr.dat
  3077.      Modem Responded to setup string and is ready for use
  3078.  
  3079.      - Running Modem Doctor in the setup (/s) mode, the file MDR.DAT is
  3080.      queried for the proper comm port, address, speed and setup string. If
  3081.      any of this is invalid, one of the messages above is received. If it
  3082.      is valid you receive the message that Modem Doctor is programming
  3083.      according to the Mdr.dat file.
  3084.  
  3085. Section 6. Special Modes and Information     
  3086. ---------------------------------------- 
  3087. The Modem Doctor supports a wide range of "AT" instruction set modems.
  3088. There are however "supersets" of instructions that manufacturers have used
  3089. to enhance the capability of their modems. Although there is some
  3090. structure  in this area, not all commands intermix between different
  3091. brands and lines of modems. This situation is analogous to PC computer
  3092. printers, and it  calls for a similar approach. The Modem Doctor now
  3093. supports the use of "Modem Drivers" to meet these special needs. 
  3094. Additionally, due to the increase in computers using the ISA bus, there
  3095. are more interrupt lines free to be used by modem manufacturers. For test
  3096. purposes, you can use IRQ3,4,5,7 for your hardware testing. Using the
  3097. special /S switch, you can send initialization codes to your modem from a
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3113.                                        Page 46
  3114.  
  3115.  
  3116. batch file or other command-line need to setup the modem for use. Finally,
  3117. to add some flexibility to the Modem Doctor's diagnostics,  some special
  3118. "Hot-keys" have been added. These have been discussed  above in an
  3119. operational sense, however in this section you will get some idea of how
  3120. these can help you speed up testing and test defective or non-compatible
  3121. hardware.   
  3122.  
  3123.          
  3124. 6.1 Using Modem Drivers 
  3125. -----------------------  
  3126. Most Modem's today are built on the original "AT" instruction set that was
  3127. developed by Hayes Micromodems in their 1200B series. This driver, named
  3128. the Generic Driver in the Modem Doctor, is used exclusively if the modem
  3129. returns an ID indicating it is a 300,1200 or 2400 bps modem. Also,       
  3130. if the modem does not return an ID, this Generic Driver is used.  The
  3131. Generic Driver can be used to test nearly all modems, however there are
  3132. some 2400 bps modems that were  built using the command structure that
  3133. Hayes Micromodems put into their 2400B line. These modems used an "&" for
  3134. some  modem setup and command functions. The Modem Doctor has a driver for
  3135. these modems called the "&T0/&T1" driver. Using this driver, the Modem
  3136. Doctor can perform a simulated  carrier test. During your testing of this
  3137. type of modem, you will notice the MB (Modem Busy) light flashing on your  
  3138. external modem. This driver (and all others) is user selectable, however
  3139. the Modem Doctor will automatically switch to it when performing the
  3140. carrier tests if the Modem was detected to be a 2400 bps modem.  The last
  3141. driver currently supported is for US Robotics Courier HST and HST
  3142. Dual/Standard V.32 Modems. The Modem Doctor recognizes these modems upon
  3143. initial testing and sets up its test parameters a certain way to
  3144. compensate for their Carrier self test limitations. 
  3145.         
  3146. Because of the trellis-encoded Async/modulation of the USR HST Mode, the
  3147. maximum Carrier test Baud rate is 2400 bps (see the USR Manual for this
  3148. info). To work around this, the Modem Doctor Programs these modems to use
  3149. a fixed DTE/DCE  Rate with the &B1 Parameter, allowing communications to
  3150. and  from the modem at speeds up to 19200 bps. When working in the V.32 
  3151. mode however, the Carrier test (and all loopback tests ) can be performed
  3152. at 9600 since the modulation is symmetrical again. Also when the selected
  3153. baud rate is higher than 2400 bps, the MNP Protocol switch is set to &M0,
  3154. otherwise if there was an error, the Modem would try to correct it instead
  3155. of passing the error on to the Modem Doctor. None of these changes is
  3156. saved to the non-volatile ROM,  so you should not experience a problem.
  3157. However, the V.32 and Dual Standard Modems might experience a problem if
  3158. register S13 is not set to 1. This is the default from the factory and
  3159. insures that the modem will be reset when the DTR line is dropped. If you
  3160. are experiencing a problem, use the interactive mode and type S13=001.
  3161. This change is not permanent. If you are using a USR Dual Standard Modem,
  3162. then the Modem Doctor will test whatever mode is active via the B switch.
  3163. If the current Modem setting is B0, then the V.32 mode will be tested, if
  3164. B1 is set, then the HST mode will be tested. You can change this setting
  3165. to whatever you wish by using the Interactive mode, type ATZ, then type
  3166. ATB0 &W or ATB1 &W. This has to be written to the firmware in order to
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3182.                                        Page 47
  3183.  
  3184.  
  3185. stay valid throughout all the testing, but the ATZ  command before a save
  3186. will always recall your settings,  insuring you have only changed the one
  3187. parameter. Please note, this is included for advanced users and is one of
  3188. the reasons for the interactive mode. It is not necessary for you to do
  3189. this to test your modem unless you wish to. For more information, see   
  3190. the section regarding "Quirks". As mentioned above, all of the Modem
  3191. Drivers are self- selecting, but can be user-selected. The status line of
  3192. your screen will display the current Port assignment, the current Baud
  3193. rate, the status of the Microprocessor, and the current modem driver being
  3194. used. Select carrier test from the main menu and move the bar to "Select
  3195. Modem Commands". You will be given a choice of the available drivers.
  3196. After you select, the status line will be updated, and you can either
  3197. start the test or return to the main menu.  The reason for modem drivers
  3198. is to allow more individualized testing of a particular type of modem, and
  3199. to allow for more modems to added to the list of specially supported
  3200. modems.
  3201.  
  3202. 6.11 External Modem Drivers
  3203. ---------------------------
  3204. Supported starting with version 4.0 is the ability to read a specially
  3205. created external modem driver file. This file makes it possible to handle
  3206. any future changes in modems by simply releasing a new driver file. When
  3207. the Modem Doctor first begins, it looks in the default directory for the
  3208. existence of this driver file. If it exists, a valid checksum is performed
  3209. to see that it is indeed a modem driver. If so, this external set of
  3210. commands is inserted in place of the internally contained modem drivers.
  3211. As of the initial release of 4.0, there are no external driver files in
  3212. circulation. Driver files will be released under 2 conditions; first, if a
  3213. bug is detected in any of the driver routines, a shareware driver file
  3214. will be released on the bulletin boards at no cost. Registered users will
  3215. be mailed at no cost the updated driver file. Second, if a registered user
  3216. would like a custom modem driver file written, we will create one at 
  3217. minimal charge as long as proper documentation for the type of modem is
  3218. submitted. If you wish to have an interface written, please contact us for
  3219. pricing and appropriate  information that we will need to do this for you.
  3220.          
  3221.          
  3222. 6.2 Using the Command Line Mode switch /S 
  3223. ----------------------------------------  
  3224. There can be special occasions where you need to initialize and test a
  3225. modem before another program can be run. The Modem Doctor now supports a
  3226. method to do this. Using the command line switch /S, you can instruct the
  3227. Modem Doctor to "wake-up" a Modem and send an initialization string to it.
  3228.  
  3229. Although similar to our product Comset, it offers some additional
  3230. flexibility but does not allow the serial port only setup that Comset
  3231. does.   To use this special mode, you need to have a companion file named
  3232. MDR.DAT that you create  with any ASCII text editor that follows this
  3233. format;  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3251.                                        Page 48
  3252.  
  3253.  
  3254.  
  3255.      1) All information must start on the first space on each line         
  3256.      and can consist of up to 3 lines. Line 1 and Line 2 are      
  3257.      required.  
  3258.          
  3259.      2) Line 1 = Port Number 1 through 8 and an optional port address in
  3260.      [] ( For settings greater than Port 4, this address is required).
  3261.  
  3262.      3) Line 2 = the Baud Rate you wish to use (300-56000 or 3-560 are
  3263.      acceptable).  
  3264.         
  3265.      4) Line 3 = the initialization string you wish to send. This string
  3266.      must start with AT and can be up to 80 characters long. If no string
  3267.      is included in the file, or if it does not begin with the letters AT,
  3268.      then ATZ is automatically sent to the modem.   
  3269.          
  3270.      Example..to setup Port 2 to 19200 and set S7 to 255;  
  3271.      Make a file called MDR.DAT that looks like this;        
  3272.  
  3273.          2 [2F8]<--note for Port 1-4 unless it is non-standard [2F8] 
  3274.                    is not needed   
  3275.          192   
  3276.          AT S7= 255  
  3277.      Next, start the Modem Doctor by typing  MDR /S. As long as the
  3278.      MDR.DAT file is in the current working directory, these commands will
  3279.      be sent. If not, you will get an error message stating that MDR.DAT
  3280.      could not be found.  
  3281.  
  3282.      Why not have the Modem Doctor search all directories for the file?
  3283.      Well, the reason is so that you can put MDR.EXE in a Dos path but
  3284.      have individualized setup MDR.DAT files in different subdirectories
  3285.      for different programming needs. Instead of constantly changing the
  3286.      file, make different ones and call MDR.EXE. It will only use the
  3287.      MDR.DAT file in the current working directory.
  3288.          
  3289.      After the initialization string is sent, the Modem Doctor will wait
  3290.      up to 10 seconds for the word "OK" to return from  the modem. If it
  3291.      does not, you will get a message saying the modem failed to setup. In
  3292.      either case, whatever your modem sent to the Modem Doctor will be
  3293.      displayed. If you see the word "ERROR", that was sent from the modem,
  3294.      it probably means that your initialization string was not correct. No
  3295.      message returning could indicate a problem with the modem, or an
  3296.      invalid baud rate. When it finishes executing, the Modem Doctor
  3297.      returns an errorlevel to the calling program. An errorlevel of 0 is
  3298.      normal, an errorlevel of 99 indicates a failure. You can use these
  3299.      errorlevels to control batch processes if you wish to.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.  
  3307.  
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3320.                                        Page 49
  3321.  
  3322.  
  3323.  
  3324.      Also, this mode of the Modem Doctor uses bios screen writes, so all
  3325.      of the information displayed can be redirected to a printer, a file,
  3326.      or whatever other DOS device you wish.  Example...to send the output
  3327.      of this test to a file called Test.txt...  
  3328.  
  3329.           MDR /S  > TEST.TXT or    MDR /S >> TEST.TXT (if you wish to
  3330.           append an existing Test.txt file.  
  3331.  
  3332. If the Modem Doctor setup was successful, the modem's DTR and RTS lines
  3333. stay active, if not, they are dropped.  If you need more specialized
  3334. command-line modes of operation, you might consider Comset. Comset allows
  3335. Serial Ports and Modems to be setup at various rates and under various
  3336. conditions. Registered Modem Doctor users get a 15% discount! You can 
  3337. find Comset on most BBS's as COMSET7.ZIP.   
  3338.     
  3339. 6.3 Using the Hot-Keys 
  3340. ----------------------  
  3341. Hot-Keys are combinations of the ALT key plus a letter. The Modem Doctor
  3342. adds several of these Hot-keys to make it easier to test  modems at
  3343. different baud rates and to  circumvent some of the error checking that
  3344. the program performs under normal circumstances.  
  3345.          
  3346. ALT-B Change Baud rate - 
  3347. If you are testing a system that you suspect has a problem, it is best to
  3348. use the setup mode when changing the baud rate. The Setup mode will test
  3349. all the registers, and the modem microprocessor (if selected) and assure
  3350. you that all the hardware is communicating properly at each baud rate.
  3351. However, if you feel a system is running fine, using the ALT-B from the
  3352. main menu can save time when running tests at different baud rates. Press
  3353. ALT-B  and select the baud rate (taking care not to select a rate higher
  3354. that what your modem is rated for if you are doing modem tests). ALT-B
  3355. works from the main menu, and from inside the Manual interactive mode.   
  3356.          
  3357. ALT-C Clear Screen - 
  3358. This key is only active inside of the Manual interactive mode and is used
  3359. to clear the text window of any characters.  
  3360.                   
  3361. ALT-F Force Microprocessor on-line - 
  3362. The Modem Doctor has many tests built-in to verify the working condition
  3363. of a microprocessor-based modem and will not allow a modem to be tested in
  3364. the "AT" instruction set mode if it has not properly addressed and setup a
  3365. modem microprocessor. Using the ALT-F combination forces the Modem Doctor
  3366. to perform tests as if it had properly setup a modem. This feature should
  3367. be used with care, however  its primary benefit is to help you test a
  3368. malfunctioning modem to see exactly what commands it will respond to.
  3369. Pressing ALT-F also updates the status bar to indicate that the modem
  3370. microprocessor is on-line (which may or may not be the case after this
  3371. command was issued). Version 4.0 of Modem Doctor makes this hot-key a
  3372. toggle, so pressing 1 time will change the on-line status. Pressing again
  3373. returns it back to normal.
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3389.                                        Page 50
  3390.  
  3391.  
  3392. ALT-H Help -
  3393. You can press this key at any time to get help on a topic or general help
  3394. depending on if you are in a menu or at the main menu selection bar.
  3395.  
  3396. ALT-R Register Display - 
  3397. This is only active inside of the Manual interactive mode and is used to
  3398. display the status of all Uart registers on the screen for diagnostic
  3399. purposes.  
  3400.  
  3401. ALT-X Exit Mode - 
  3402. This is only active inside of the Manual interactive mode and is used to
  3403. exit this mode. 
  3404.  
  3405. Control -Break
  3406. --------------
  3407. This allows an immediate exit from anywhere permissible inside the Modem
  3408. Doctor, however it offers you a choice to clean up or to continue. You
  3409. should not use this mode, it is better to exit via the Main menu
  3410. selection.
  3411.  
  3412. 6.4 Logging in Defective Ports 
  3413. ------------------------------  
  3414. If a serial port Uart is defective, the Modem Doctor will refuse to log it
  3415. in for testing. This is necessary because there is no way for it to know
  3416. what ports are defective and what are non-existent. However in Version
  3417. 4.0, you can now log-in a defective chip for testing. The procedure to do
  3418. so is explained above under Manual Login. The reason for doing so however
  3419. might not have been apparent. If any register of a serial port is
  3420. defective, it might not function properly. Logging in this defective port
  3421. will give you the full benefit of the Uart and Serial port diagnostics.
  3422. Error messages will be displayed, in most cases there will be multiple
  3423. error messages. There are two possible causes of a defective port; the
  3424. Uart chip and the Serial Port address system. If it is a chip, simply
  3425. replacing the chip fixes the problem. If it is a serial port instead, then
  3426. the same problem will repeat. How do you approach this? Well for starters,
  3427. check that the strapping on your serial port board matches the correct
  3428. COMM port assignment (ie strapped for COM1 for COM1..etc). Next, if there
  3429. is user selectable IRQ assignments, make sure it again matches the COMM
  3430. port assignment (IRQ4 for COM1/3, IRQ3 for COM2/4, IRQ5 for COM7/8, IRQ7
  3431. for COM6/7). If all this is set properly, then you can suspect the chip,
  3432. but also the Serial Port hardware that gates the address of the chip to
  3433. the computer. Finally, if you get warnings about status, but the chip logs
  3434. in, then  you might just have a bad cable from the computer to the modem
  3435. (NOTE: The Modem Doctor does not consider this an error but simply
  3436. displays a warning and allows the Uart to be logged-in for use).       
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3458.                                        Page 51
  3459.  
  3460.  
  3461.          
  3462. 6.5 What tests cannot Do     
  3463. ------------------------     
  3464. Although I tried to be extremely thorough in my tests, there are
  3465. somethings that tests just cannot do or pinpoint. If you are having
  3466. problems with excessive line-noise, you might have a bad connection
  3467. between your modem and your telephone wiring in the house. Another
  3468. possibility, although remote, is that your modem does not offer the
  3469. correct input impedance to the telephone line. This can cause poor  
  3470. connections. The problem is with the electronic design of the modem, and
  3471. again, it is more prevalent in inexpensive modems. Also, tests cannot
  3472. check that the communications program you are using is set up correctly.
  3473.  
  3474. At times,  installing a communications package can be very challenging for
  3475. a novice user. Tests also cannot check the wiring in your serial Cable.
  3476. The Modem Doctor will tell you if a handshaking pair is missing, but it
  3477. cant tell you why. It could be because the Uart is bad, but more than
  3478. likely, your RS-232 Cable doesn't carry all of the handshaking signals to
  3479. or from the external modem or serial device. This can be important if you
  3480. are using a high-speed modem. Most High-speed modems will drop the CTS
  3481. line when their communication buffers are full. Previous Modems ignored 
  3482. the RTS/CTS signals and instead used the DTR/DCE pair. What this means is
  3483. that if you buy a new modem, it might not work with the older-cable (yet
  3484. at the same time the older modem will work..which might lead you to
  3485. believe that you have a defective modem).      
  3486.          
  3487. 6.6 Quirks with Some Modems     
  3488. ---------------------------      
  3489. Carrier tests - 
  3490. Some Modems have two "AT" instruction sets, usually referred to as
  3491. Compatible and Enhanced. If your modem does not perform a carrier test at
  3492. speeds below 4800, then this is usually the case. Some modems provide a
  3493. dip-switch or a toggle switch to select either mode. Setting your modem to
  3494. the Standard Compatible Mode should get rid of your problems below 4800
  3495. bps. Also, make sure you select the Generic Compatible Modem Driver unless
  3496. you are sure your modem matches the modem's that have special drivers
  3497. written especially for their use. At speeds above 4800 bps, the Modem
  3498. Doctor is only compatible with USR V.32, Dual Standards (V.32 and HST) and
  3499. HST brand of modems, Hayes V9600 and Ultra 9600, and Courier 2400 modems.
  3500. If you wish to test another brand of modem that is not compatible, simply
  3501. turn off any modem-hardware error correcting using the Manual mode and
  3502. following the information in your modem users manual. Then select the
  3503. Generic Modem Driver and you should be able to test your modem properly.
  3504. Finally, if only one of the tests (Originate or Answer) runs and NO      
  3505. CARRIER is displayed for the other, the problem lies with the Enhanced
  3506. Command settings of your modem. Hayes Modems use &T1 through &T8 commands
  3507. for their 2400 and also have other special switches. The &T0 command set
  3508. is tried by this version of the Modem Doctor automatically, however there 
  3509. is no compensation for any other type of modems that use non-standard
  3510. commands. Again for the sake of compatibility with the widest range of
  3511. modems at speeds below 4800, this cannot be corrected for in this version.
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3527.                                        Page 52
  3528.  
  3529.  
  3530. Considering the vast numbers of "AT" compatible modems in the marketplace,
  3531. these two exceptions are minor and will not affect most users. Finally,
  3532. users of 8250 compatible Uarts that do not support the Digital (Chip)
  3533. Loopback will get an error. This should be of no concern.  However if the
  3534. test runs for a while, then fails, it could indicate a problem with your
  3535. Uart. This is explained in the pull-down window in the program. The Modem
  3536. Doctor has been tested on about 25 Modems from Major Manufacturers and on
  3537. a variety of Clones and Compatibles (plus the "Real Thing"). It is
  3538. possible that a certain combination of hardware still might give problems,
  3539. however if you are a registered user, I will find a way to make it work.  
  3540.  
  3541. 6.7 Buffered vs Direct Connect Modems
  3542. -------------------------------------
  3543. When testing high speed modems, you should note that some of them cannot
  3544. test in the a "buffered mode", which means that they will not be able to
  3545. self-test in carrier mode above speeds of 9600. The Hayes Ultra's fall into
  3546. this category. The higest DTE/DCE rate you can use and still generate a
  3547. successful carrier test is 9600 bps. Any higher DTE rate will cause Modem
  3548. Doctor to return errors that are not valid. 
  3549.          
  3550.          
  3551. Section 7. Benefits of Registration     
  3552. ------------------------------------      
  3553. Thank you for your registration. The Current Registered Version # of the
  3554. Modem Doctor is 4.0R. All Registered Users are entitled to free
  3555. Maintenance updates and these will be reflected by changes in the decimal
  3556. fraction number..ie  4.01, 4.02. Also, if a new super-duper version comes
  3557. out (5.X or 6.X), all registered users will be able to update for only $7
  3558. (plus shipping,handling and tax where applicable). Currently registered
  3559. users of version 2 and 3 can update for $5 (plus shipping, handling and
  3560. tax where applicable). If you have trouble with the Modem Doctor, or
  3561. questions, feel free to call or write. When doing either you will need to
  3562. have the Version Number, your serial number,  and in some cases the Module
  3563. Identification Number. The Version number is displayed when you first
  3564. start the program along with the serial Number. The Module Identification
  3565. numbers can be displayed at any time from the main menu after you pass the
  3566. initial setup mode. Simply type a # sign, and all of the modules that make
  3567. up the Modem Doctor will display their version numbers on the screen.
  3568. Right now, all Modules have identical version numbers from program to
  3569. program, but in the future, there could be custom modules for registered
  3570. users, so in this case the Module ID could become important. You can reach
  3571. us with your questions at 410-256-5767 or write to ;
  3572.                                 Hank Volpe
  3573.                                PO Box 43214
  3574.                              Baltimore MD 21236
  3575.          
  3576.                Thanks again for registering the Modem Doctor.
  3577.  
  3578. You can always download the latest shareware version and other communication 
  3579. utilities from the Modem Doctor BBS at 410-256-3631 (300/1200/2400/9600 HST 
  3580. [soon V.32bis]). Also, if you write your questions on the BBS, you will get a 
  3581.  
  3582.  
  3583.  
  3584.  
  3585.  
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.  
  3592.  
  3593.  
  3594.  
  3595.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3596.                                        Page 53
  3597.  
  3598.  
  3599. faster response than if you had written via the mail. 
  3600.  
  3601.  
  3602. Notes -     [+] References to USR /Courier/Dual Standard/HST
  3603.                      Copyrighted by US Robotics     
  3604.          
  3605.          [++] References to AT Instruction Set ,Smartmodem,Hayes
  3606.               Copyrighted by Hayes Inc.
  3607.          
  3608.          References to MNP refer to An error free protocol 
  3609.          Copyrighted by Microcom Inc.     
  3610.  
  3611.         References to dos, microsoft, copyrighted by IBM or Microsoft
  3612.         References to 8250B or other uarts are copyrighted by a 
  3613.         variety of manufacturers including (but not limited to ) 
  3614.             Intel, National Semiconductor.
  3615.   
  3616.          
  3617.      
  3618.  
  3619.     
  3620. Disclaimer -  
  3621. It is not the intent of the author to recommend any brand of modem over
  3622. another nor to infringe on the copyrights of the manufacturers by
  3623. mentioning their products. A modem fits a need, and whatever one works for 
  3624. you is the one you should have. As time goes on, more modems will be added
  3625. to the list of "special enhanced " tests. The modems mentioned are done so
  3626. only because of the popularity they enjoy and for no other reason. All
  3627. programming of modems for testing is done with simple character strings,
  3628. similar to any type of data that can be sent to a modem or a serial port.
  3629. Any modem, whether AT compatible or not, can be handled by the Modem
  3630. Doctor with special software drivers. These software drivers will be
  3631. distributed free of charge as needed for general use. Custom drivers
  3632. created by Hank Volpe for particular clients however will require a fee
  3633. for handling and programming time.
  3634.  
  3635. Modem Doctor History
  3636.  
  3637.          Ver 5.0 -  New tests added to verify IRQ operation, verify proper
  3638.                     Comm port/IRQ selection, added NULL tests to Interactive
  3639.                     selection. Structure changed for drivers to include 
  3640.                     handling all modem identification codes. All window
  3641.                     routines changed to directly drive displays (vs working 
  3642.                     through standard C library interfaces), S-register window 
  3643.                     display added to REGS menu, intefaces added to handle 
  3644.                     generic INT14 and FOSSIL drivers, bypassing all direct 
  3645.                     control of hardware while in that mode. 
  3646.  
  3647.                     Other updates include identification of mouse drivers 
  3648.                     and re-activation upon exit, ability to handle accurate 
  3649.                     timing loops on machines with a system speed of 50mhz+, 
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.          Modem Doctor Ver 5.0 Copyright 1993 Hank Volpe   Technical Reference
  3665.                                        Page 54
  3666.  
  3667.  
  3668.                     addition of interrupt driven transmit routines. Addition 
  3669.                     of 5 new uart internal tests.
  3670.       
  3671.          Ver 4.0 -  New tests added for dynamic handshaking and static 
  3672.                     handshaking. New report generator features, new
  3673.                     exchange mode. Higher baud rates, cleaner windows that
  3674.                     grow to meet commands. Recognition of mouse inputs via
  3675.                     a compatible mouse driver. Expansion of internal modem
  3676.                     drivers and ability to read external modem drivers.
  3677.                     Improved brute-force reading for faster digital
  3678.                     loopback tests. Automatic aborting of modem tests when
  3679.                     IRQ failures are detected. New advisories for fixed-
  3680.                     link rate, IRQ failures, wrong comm port assignments,
  3681.                     swapped comm port assignments. Addition of custom
  3682.                     color selections, pulldown windows that stay when
  3683.                     left-right arrow keys are moved. Updating of 16550 AN
  3684.                     support for resetting and clearing buffers.
  3685.                     Replacement of all internal comm drivers with new dos
  3686.                     independent routines. Correction of many (and
  3687.                     hopefully all) spelling errors.
  3688.  
  3689.          Ver 3.0 - New tests added for 16450/16550/16550AN Uarts.
  3690.                    Improved Control-Abort handling, Regs command now 
  3691.                    performs a full diagnostic call when activated. 
  3692.                    Hot-Keys added (Force Micro, Baud Rate Select). 
  3693.                    Modem Driver software added to program, Status Bar 
  3694.                    added to program. Support for IRQ 3,4,5,7 added 
  3695.                    via COM1 through COM8 log-ins. Speed increased to 
  3696.                    38.4KB. /S Command line option added for setup of 
  3697.                    a modem including batch file errorlevel support. 
  3698.                    Escape key functionality added to Carrier Tests 
  3699.                    and the loopback tests.
  3700.  
  3701.         Ver 2.2 - Corrects a bug in Ver 2.1 Communication routines
  3702.                    that caused some modems to lock-out because they 
  3703.                    were waiting for two carriage returns to begin. 
  3704.                    Also it added 4 diagnostic Uart tests
  3705.          
  3706.          Ver 2.1 - This version was a Beta test. A Beta tester 
  3707.                    accidentally uploaded this to several boards. 
  3708.                    Please remove all Ver 2.1S software that you may 
  3709.                    find.
  3710.          
  3711.          Ver 2.0 - This version also was a Beta test with support
  3712.                    for COM1-2 and 2400 bps maximum
  3713.          
  3714.          Ver 1.0 - First test version
  3715.  
  3716.  
  3717.  
  3718.  
  3719.  
  3720.  
  3721.  
  3722.  
  3723.  
  3724.  
  3725.  
  3726.